Avatar billede boba_dk Nybegynder
29. september 2004 - 20:45 Der 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# "


Der er sikkert en kommando der kan ordne dette.

Håber at ovenstående er forståeligt.
Avatar billede eagleeye Praktikant
29. september 2004 - 20:48 #1
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 & "#"
%>
Avatar billede eagleeye Praktikant
29. september 2004 - 20:51 #2
Du kan evt. lave en funktion som formatere datoen så den passer til SQL:

function datoToSQL (s)
datoToSQL = Year(s) & "-" & Right("0" & Month(s),2) & "-" & Right("0" & Day(s),2)  end function

Så vil SQL sætnignen se sådan her ud:

SQL = "SELECT * FROM tabelnavn WHERE dato = #" & datoToSQL("04-06-2004") & "#"
Avatar billede eagleeye Praktikant
29. september 2004 - 20:51 #3
hov  end function  skal så på en linje for sig selv :)
Avatar billede boba_dk Nybegynder
29. september 2004 - 20:55 #4
Meget nemt, takker!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester