29. september 2004 - 20:45Der er
3 kommentarer og 1 løsning
Filtrere SQL-sætning
Hej Eksperter,
Jeg har følgende SQL-sætning der ikke filtrerer records rigtigt.
Nedestående sætning finder records og tæller dem med "Danmark" i kolonnen "land", men finder for mange records i den ønskede periode, da den tæller datoen 2 gange, først alt størrere og lig med 01-09-2004 og derefter de samme records der er mindre eller lig med 30-09-2004. Samt stopper begge jo ikke, da de hhv. ikke har en øvre eller nedre grænse.
Min kode:
mysql = "Select Count(*) AS myTotal FROM test where land = 'Danmark' and datok >= #01-09-2004# and datok <= #30-09-2004# "
Når man bruger danske datoer og Access kan man opleve Access bytter rundt på måned og dag. Problemet opstår fordi Access bruger US eller UK dato format via SQL, som enten er yyyy-mm-dd eller mm-dd-yyyy.
Når man så indsætter en dato i dansk dato format som er dd-mm-yyyy, vil Access bytte rundt på dag og måned i datoen.
Der er en løsning og det er at bruge dato funktionerne Year, Month og Day til at formatere din dato.
<% dato = "04-06-2003" strDato = Year(dato) & "-" & Month(dato) & "-" & Day(dato) SQL = "SELECT * FROM tabelnavn WHERE dato = #" & strDato & "#" %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.