Kan man plocka ut alla rader där tiden i ett datumfält är över ett visst klockslag bättre än det sätt jag gör på? Eftersom klockslag i formatet HH:mm kommer i "bokstavsordning" kan du jämföra textsträngarna, blir lite kompaktare i alla fall. Mycket möjligt, har inte testat. Frågan är om det gör sådan skillnad att det spelar någon roll. Har du problem med prestandan nu? Om det inte är något problem anser jag att det är värt mycket mer att det är lätt att förstå vad koden gör.Jämföra datum och tid
<code>
SELECT * FROM Programs WHERE DATEPART('h', Fält) >= DATEPART('h', #20:15#) OR DATEPART('h', Fält) = DATEPART('h', #20:15#) and DATEPART('n', Fält) > DATEPART('n', #20:15#)
</code>
Nu använder jag ett fast klockslag i exemplet, men egentligen tas klockslaget från en annan tabell.
/ThomasSv: Jämföra datum och tid
...WHERE Format(Fält,"HH:mm") >= "20:15"
/Johan
Sv: Jämföra datum och tid
Det som är självklart nu är inte alltid så självklart nästa gång man gör en förändring... (vet av erfarenhet, vill gärna krångla till det själv)
Vill du absolut inte göra en strängjämförelse kan du t.ex. göra såhär:
Klockan 20:15 är alltså 1215 minuter efter midnatt. Reserverar mig lite för vad som händer vid 12-timmars tidformat...
...WHERE Hour(Fält)*60+Minute(Fält) >= 1215
/Johan