Avatar billede mrdj Nybegynder
26. september 2011 - 20:08 Der er 4 kommentarer og
1 løsning

Select med dato kriterie

Jeg sidder med en lille vrider der driller mig lidt.

Skal lave en select fra en tabel i en access DB hvor der kun skal returneres poster som ligger maks 1 dag fra dags dato.

Altså noget ala Date()+1day

Håber der er nogen der kan hjælpe med hvordan den lige skal se ud

På forhånd tak
Avatar billede michael_stim Ekspert
26. september 2011 - 20:18 #1
Kig på dateadd, now og between.

Noget á la:

SELECT dato FROM tabel WHERE dato BETWEEN now AND dateadd("d", 1, now);

Absolut ikke testet, og bare taget ud fra hukommelsen. Er 100 år siden jeg har siddet med access.
Avatar billede mrdj Nybegynder
26. september 2011 - 21:03 #2
Kan samme kode bruges i ASP select sætning ?

Glemte at skrive at det er ikke i selve Access DB jeg skal lave det men i noget ASP kode der henter fra DB.
Avatar billede mrdj Nybegynder
26. september 2011 - 21:41 #3
har lavet denne

Dim dagsdato,udregnetdato
dagsdato=Date
Response.Write "Dags dato er " & dagsdato & "<br>"
udregnetdato=DateAdd("d",14,dagsdato)
Response.Write "Dato om 14 dage " & udregnetdato & "<br><br>"

strSQL2 = "Select * from oversigt where Dato Between "&dagsdato&" and "&udregnetdato&""
Set rs2 = Conn.Execute(strSQL2)

Response.Write strSQL2 & "<br><br>"

Response.Write &rs2("navn")

Her burde den så returnere een post da der ligger en post med dato 08-10-2011 MEN denne post vises ikke.

Output fra STRSQL2 er som følger:
Select * from oversigt where Dato Between 26-09-2011 and 10-10-2011
Avatar billede michael_stim Ekspert
26. september 2011 - 22:09 #4
Prøv at sætte "havelåger" om datoerne:

strSQL2 = "Select * from oversigt where Dato Between #"&dagsdato&"# and #"&udregnetdato&"#"
Avatar billede mitbrugernavn Praktikant
27. september 2011 - 12:08 #5
står din dato i db som dansk datoformat dd-mm-yyyy ?

så dette

Dim dagsdato,udregnetdato
dagsdato=Date
Response.Write "Dags dato er " & dagsdato & "<br>"
udregnetdato=DateAdd("d",14,dagsdato)
Response.Write "Dato om 14 dage " & udregnetdato & "<br><br>"
hent_dagsdato = month(dagsdato) &"-"& day(dagsdato) &"-"& year(dagsdato)
hent_udregnetdato = month(udregnetdato) &"-"& day(udregnetdato) &"-"& year(udregnetdato)
strSQL2 = "Select * from oversigt where Dato Between #"&hent_dagsdato&"# and #"&hent_udregnetdato&"#"
Set rs2 = Conn.Execute(strSQL2)

bemærk at i SQL sætningen er dd og mm vendt om (kommer fra hent_dagsdato)
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