Avatar billede guro.not Nybegynder
02. december 2003 - 12:55 Der er 9 kommentarer og
1 løsning

Finde dato mellem to dato felter i db

Hejsa...

Jeg har prøve med:
Select * From TUR_LISTE Where (#" & replace(date, "-", "/") & "# Between FRA_DATO And TIL_DATO);
Men det retunere ikke noget.

har en FRA_DATO som er 14-12-2003 og en TIL_DATO som er 05-06-2003, begge felter i db'en er af dato/tid - Short Date

Guro.Not
Avatar billede krasmussen Praktikant
02. december 2003 - 13:06 #1
DU kan bruge funktionen Datediff
Avatar billede guro.not Nybegynder
02. december 2003 - 13:11 #2
krasmussen, har du en ide om hvordan jeg skal gøre det?

sider med en asp side, hvor jeg har dags dato, date(), og skal så finde den række i tabellen hvor dags dato falder inden for.

Guro.Not
Avatar billede terry Ekspert
02. december 2003 - 13:11 #3
The date format (Short Date) is only used for displaying the date, it has nothing to do with how the date is stored in the dB!


You can try this, although I am not sure if it will work if you areusing it in ASP

Select * From TUR_LISTE Where Clng(date) Between Clnh([FRA_DATO]) And Clng([TIL_DATO])
Avatar billede terry Ekspert
02. december 2003 - 13:12 #4
little error there!

Select * From TUR_LISTE Where Clng(date) Between Clng([FRA_DATO]) And Clng([TIL_DATO])
Avatar billede guro.not Nybegynder
02. december 2003 - 13:21 #5
Select * From TUR_LISTE Where Clng(date()) Between Clng([FRA_DATO]) And Clng([TIL_DATO]);

Tabellen inde holder

TUR_ID, TUR_NAVN, FRA_DATO, TIL_DATO
1, 501    14-06-2003, 13-12-2003
2, 501    14-12-2003, 05-06-2004
3, 502    14-12-2003, 05-06-2003
4, 502    14-06-2003, 13-12-2003

Select * From TUR_LISTE Where Clng(date()) Between Clng([FRA_DATO]) And Clng([TIL_DATO]);
Retuner:

3, 502, 14-12-2003, 05-06-2003
4, 502, 14-06-2003, 13-12-2003
1, 501, 14-06-2003, 13-12-2003

Den holder da ikke helt. date() ligger da ikke inden for....
Eller er jeg helt galt på den...
Guro.Not
Avatar billede guro.not Nybegynder
02. december 2003 - 13:24 #6
Åhhhhh jeg er dum....

Terry, you er right....THANKS...

Guro.Not
Avatar billede terry Ekspert
02. december 2003 - 13:46 #7
What I am doing here is actually converting the date to a long integer
Clng(). There is no guaranty that this will work with other database formats than Access
Avatar billede guro.not Nybegynder
02. december 2003 - 13:50 #8
okay terry.. is works for me :-)

Select * From TUR_LISTE Where (TUR_ID = 1) And (Clng(Cdate('02-12-2003')) Between Clng([FRA_DATO]) And Clng([TIL_DATO]));

I have modefied the Clng(date()) in to Clng(Cdate('02-12-2003')) to make it work

Guro.Not
Avatar billede terry Ekspert
02. december 2003 - 17:48 #9
Ok! But be carefull with your date!

'02-12-2003'
It may get converted to a date but IS it 2nd December or 12th February?

If you use yyyy-mm-dd it has a better chance of working!
Avatar billede guro.not Nybegynder
03. december 2003 - 10:47 #10
Thanks Terry

:-)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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