Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("\\klass\\db\\online.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Online = "SELECT \* FROM online "
RecSet.Open Online, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
If (RecSet("datum") \<\> Date) Then
RecSet.Delete
End If
Diff = datediff("n", RecSet("tid"), Time)
If (Diff \> 4 ) Then
RecSet.Delete
End If
RecSet.MoveNext
Loop
RecSet.Close
Blir felmeddelandet ibland såhär:
Feltyp:
(0x80020009)
Undantag inträffade.
/klass/online2.mupp, line 17
Men om man uppdaterar sidan igen brukar det däremot fungera = skumt fel
Jag vet inte varför det blir fel, men din kod gör onödigt mycket. Det går att skriva med mindre kod som dessutom är mer effektiv.
Du borde kunna skriva om det så här
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\klass\db\online.mdb")
Online = "delete FROM online where datum <> #" date & "# or datediff('n',tid,#" & time & "#) > 4"
connect.execute online,,128
(Otestat)
Varför har du två fält för datum och tid? Så vitt jag har förstått så lagrar Access alltid datum och tid om du använder någon date/time datatyp.
------------------ essentitia preter non sans multiplicandum