29. april 2003 - 14:08
Der er
4 kommentarer og 1 løsning
Dato problem i en SELECT fra Access
Hmm, jeg sidder her og kan virkelig ikke forstå hvordan det kan lade sig gøre... de datoer de skulle #¤&¤!#=!¤ :D Jeg har 4 poster i den database for at teste... Datoerne på dem er (uden tid): 01-05-2003 07-05-2003 14-05-2003 30-05-2003 Jeg har så en SELECT sætning hvor jeg søge indenfor et tidsinterval, det gør jeg således: "SELECT [DumDato] FROM [Tabellen] WHERE [DumDato] BETWEEN #" & date() & "# AND #" & date() + days & "#) ORDER BY [DumDato]" Days kan være 3 ting. Værdien 7, 14 og 21 (ligesom uger). MEN! 14 og 21 virker 100% som de skal, lister det der passer, men vælger jeg 7, så trækker den ALT ud. Lidt Response.Write... SELECT [DumDato] FROM [Tabellen] WHERE ([KOpfolgDato] BETWEEN #29-04-2003# AND #06-05-2003#) ORDER BY [DumDato] Nogen geniale idéer? :)
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
29. april 2003 - 14:08
#1
KOpfolgDato i Response.write delen er DumDato! :)
29. april 2003 - 14:33
#2
SQL bruger US/UK dato format som er yyyy-mm-dd eller mm-dd-yyyy. Så du får byttet rundt på månede og dag. Den kan dog gennemskue at dagen står først hvis man overføre et tal som er størrere end 12. Eks vil 29-04-2003 blive tolket rigtigt da der ikke findes en 29 månede men 06-05.2003 vil tolke som 05-06-2003. Så du må lave to dato strenge med year, month og day functionen. datoStr = Year(Date) & "-" & Month(Date) & "-" & Day(Date) tildato = DateAdd("d",days,Date) tildato = Year(tildato) & "-" & Month(tildato) & "-" & Day(tildato) Så SQLen: "SELECT [DumDato] FROM [Tabellen] WHERE [DumDato] BETWEEN #" & datoStr & "# AND #" & tildato & "#) ORDER BY [DumDato]"
29. april 2003 - 14:33
#3
Hvis start altid er dags dato kan du skrive det sådan her: "SELECT [DumDato] FROM [Tabellen] WHERE [DumDato] BETWEEN Date() AND Date()+" & days & " ORDER BY [DumDato]"
29. april 2003 - 14:35
#4
Hvis Date()+days ikke virker inde i SQLen så brug DateAdd: "SELECT [DumDato] FROM [Tabellen] WHERE [DumDato] BETWEEN Date() AND DateAdd('d'," & days & ",Date()) ORDER BY [DumDato]"
29. april 2003 - 14:43
#5
genialt... virker! Tak eagleeye :)
Kurser inden for grundlæggende programmering