dw: Datentypen in Kriterienausdruck unverträglich.

Hallo,
meine Fehlermeldung:
Microsoft OLE DB Provider for ODBC Drivers- Fehler '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich.

/Mailsystem/top.asp, line 31

mein code:
...
if o <> 0 then

query = "select * from user where online = 1"
set RS=my_conn.Execute (query)

do until RS.EOF
if Now() - 0.001 > RS("logindate") then

logindate = RS("logindate")

query = "update user set online = '" & "0"
query = query & "' where logindate = '" & logindate & "'"
set RS=my_conn.Execute (query)                 <--Zeile 31

Session("logged") = "false"
end if
RS.MoveNext
loop
end if
...

Warum ist das so, dann versuch ich es so:

query = "update user set online = '" & "0"
query = query & "' where logindate = " & logindate <--Zeile 30
set RS=my_conn.Execute (query)                 <--Zeile 31

dann bekomm ich diese Fehlermeldung:

Microsoft OLE DB Provider for ODBC Drivers- Fehler '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'logindate = 29.04.2004 16:23:06'.

/Mailsystem/top.asp, line 30

Was ist da denn jetzt los, kann mir da jemand helfen, was ich da zu tun hab???? was ist falsch...?

  1. Halihallo dw

    query = "update user set online = '" & "0"
    query = query & "' where logindate = " & logindate <--Zeile 30
    set RS=my_conn.Execute (query)                 <--Zeile 31
    [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'logindate = 29.04.2004 16:23:06'.

    Bei Microsoft Access sind Daten mit '#' zu quoten. Also:
    #29.04.2004 16:23:06#, ggf. ist das Datumsformat bei Access bei dir
    noch auf US gestellt: #4/29/04#.
    Eventuell musst du - da du über ODBC gehst - die Daten mit normalem
    Quote (' oder ") quoten, ich weiss nicht, ob dies ODBC in die Access
    Syntax umsetzt, oder es bereits so erwartet.

    Viele Grüsse

    Philipp

    --
    The only program that runs perfectly every time, is a virus.