webForumDet fria alternativet
Logga in / Bli medlem

DateDiff i MS Access

Databaser & SQL

3 svar · 423 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Trådstart#1

Tjena!

Följande kod verkar inte skapa ett riktigt datum för datediff att jämnföra mot kontrolldatumet. Ser ni vad som är fel?

" AND DateDiff('d',Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2),'"&ControlDate&"') > 1825 AND DateDiff('d',Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2),'"&ControlDate&"') < 3651"

Controldate = Date()-Round(20*365.2575)
fk.pnr = 790506

Medlem sedan juli 200012 978 inlägg
#2

Vad skall du kontrollera mellan 5 och 10 år?

Medlem sedan maj 2002560 inlägg
#3

Jag skall redovisa posterna beroende på hur gamla personerna är som svarat på en speciell undersökning.

Dim ArrAge(7): ArrAge(0) = ""
               ArrAge(1) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) <  365"
               ArrAge(2) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) >  364 AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) < 1826"
               ArrAge(3) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) > 1825 AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) < 3651"
               ArrAge(4) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) > 3650 AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) < 5476"
               ArrAge(5) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) > 5475 AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) < 7301"
               ArrAge(6) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) > 7300 AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) < 9126"
               ArrAge(7) = " AND DateDiff('d','"&ControlDate&"',CDate(Mid(fk.pnr,1,2)-Mid(fk.pnr,3,2)-Mid(fk.pnr,5,2))) > 9125"
Medlem sedan juni 200032 967 inlägg
#4

Jag skulle verkligen rekommendera dig att lagra datum i fält av rätt datatyp. Då skulle du ju slippa allt detta krångel...

267 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)