webForumDet fria alternativet
Logga in / Bli medlem

Ta bort datum --> access

Databaser & SQL

5 svar · 226 visningar · startad av NETwork

Medlem sedan juni 20011 732 inlägg
Frågan#1

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.

Medlem sedan juni 200032 967 inlägg
#2
DELETE FROM Kalender WHERE Datum < Now()

?

Medlem sedan juni 20011 732 inlägg
#3

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?

Medlem sedan juni 20011 732 inlägg
#4

Skriver jag ut sql-strängen så ser den ut så här:

DELETE FROM Kalender WHERE datum < 2002-01-30

Den tar inte bort några datum alls här. Om jag däremot vänder på den:

DELETE FROM Kalender WHERE datum > 2002-01-30

...då tar den bort ALLA poster i databasen, både de som ligger framför och efter dagens datum. Vad är detta??????????????

Medlem sedan dec. 200012 464 inlägg
#5
DELETE FROM Kalender WHERE datum > 2002-01-30

är samma som

DELETE FROM Kalender WHERE datum > 1971

right?

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.

Medlem sedan juni 20011 732 inlägg
#6

Aha, nu är jag på rätt spår igen, det funkar perfekt! :)

264 ms totalt · 4 externa anrop · v20260731065814-full.1b2494f0
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)