Axel Richter: Selct auswahl falsch ??????

Beitrag lesen

Hallo,

RS.Open "SELECT TOP 1 t_besucher.id, t_besucher.ip, t_besucher.jjjj, t_besucher.mm, t_besucher.tt, t_besucher.hh, t_besucher.min FROM t_besucher WHERE (((t_besucher.ip)= 'arrIP' )) ORDER BY t_besucher.jjjj DESC , t_besucher.mm DESC , t_besucher.tt DESC , t_besucher.hh DESC , t_besucher.min DESC", Conn

Hab jetzt den Fehler gefunden und zwar möchte ich einen Wert in der Daten bak angeben der in der Variablen arrIP ist wie kann ich das machen ?????
was ist da falsch ß????
FROM t_besucher WHERE (((t_besucher.ip)= arrIP ))

Was ist t_besucher.ip für ein Feld? Text?
Du musst den Variablenwert in den SQLString hinenverketten. Der Textverkettungsoperator ist im VisualBasic der Operator &.

Außerdem ist es schlauer, den SQLString in einer separaten Variablen zu speicher, weil man ihn dann leichter kontrollieren kann.

Dim SQLStr as String;
SQLStr = "SELECT TOP 1 t_besucher.id, t_besucher.ip, t_besucher.jjjj, t_besucher.mm, t_besucher.tt, t_besucher.hh, t_besucher.min FROM t_besucher WHERE (((t_besucher.ip)= '" & arrIP & "' )) ORDER BY t_besucher.jjjj DESC , t_besucher.mm DESC , t_besucher.tt DESC , t_besucher.hh DESC , t_besucher.min DESC"
'MsgBox(SQLStr) 'Kommentarzeichen zur Kontrolle entfernen
RS.Open SQLStr, Conn

Vor jeder weiteren Bearbeitung des Recordsets solltest du trotzdem prüfen, ob es überhaupt Datensätze enthält.

If NOT RS.EOF AND NOT RS.BOF Then
 ...
End If

viele Grüße

Axel