I brevet "BUPr6.908$S3.85248@news010.worldonline.dk" skrev Søren Badstue
(soren.badstue@image.dk) den 14/03/01 20:47:
> Hejsa!
>
> Jeg har et problem (ok, hvem har ikke det
>
> Jeg har en database med bl.a. en kolonne til dato af formatet 14-03-01. Nu vil
> jeg godt have min asp-side til at slette de linier der er ældre en f.eks. 60
> fage. Hvordan gør jeg det? Jeg har lavet følgende kode, men jeg kan ikke få
> den
> til at slette de linier. Sådan som det er nu, sletter den det hele
men jeg
> synes selv jeg har prøvet ALT! (ja, ja, det ved jeg jo godt jeg ikke har
>
> <%
> ' Databaseforbindelse - husk at angive sti til din database
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath ("opslag.mdb")
> Conn.Open DSN
>
> ' SQL forespørgsel
> strSQL = "Select * from opslag"
> ' Udfør forespørgsel (rs indeholder nu resultatet)
> Set rs = Conn.Execute(strSQL)
>
> dtmDate = Date()-60
> response.write dtmDate
>
> str = "Delete from opslag where indrykket < " & dtmDate
Du bruger formentlig Access og Access sutter på det område. Jeg har flere
gange oplevet at den sammenligner forkert - men i dette tilfælde er det dog
din fejl
Jeg mener der skal havelåger (#) rundt om datoen når du bruger Access, altså
noget à la WHERE indrykket < #"& dtmDate &"#, men jeg kan ikke helt huske
det.
Bruger du SQL Server er det langt smatere vha. DateDiff funktionen som
Access, så vidt jeg husker, ikke understøtter.
Venlig hilsen
Morten