Jag har en tabell i en accessdatabas med bland annat en datum-kolumn. Jag försöker göra en funktion som tar bort alla rader där datumet är _före_ dagens datum, men jag får det inte att funka. Kan man inte göra så här!?
"DELETE FROM Kalender WHERE Datum < "+DateTime.Now
Jag får inget felmeddelande, men den raderar heller inget i databasen.
Jag programmerar i c# och DateTime.Now (eller DateTime.Today) är dagens datum och den borde väl kunna jämföras med ett datumfält i en accessdatabas? Inte heller om jag typkonverterar den till en sträng så fungerar det ... DateTime.Now.ToSTring(); ... men det ska man väl inte göra heller?
Det fungerar eftersom dataum lagras som ett numeriskt värde, närmare bestämt som antalet sekunder sedan år 1900. Eftersom alla dina datum är mer än 2000 sekunder efter år 1900 så försvinner dom.
Du kan göra som @nders skrev och använda den funktion som finns i Access eller så får du skriva
"DELETE FROM Kalender WHERE Datum < #"+DateTime.Now + "#"
så att access tolkar det som ett datum och inte ett tal.