Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
740to744
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
SQL String Syntax Error
06.03.2006 18:48:51
Andreas
Hallo Cracks
Ich möchte via SQL einen Eintrag in einer Access-DB updaten und habe dazu folgenden Code geschrieben:
With frmKundenInfo
strSQL = "UPDATE tblMT " & _
"SET " & _
"Aktion='" & .cbAktion.Value & "', " & _
"Resultat='" & .cbResultat.Value & "', " & _
"Status='" & .cbStatus.Value & "', " & _
"Massnahmen='" & .txtMassnahme.Value & "', " & _
"Check='" & .txtKontakt.Value & "', " & _
"MA='" & Environ("Username") & "', " & _
"Datum='" & FormatDateTime(.lblDatum, vbShortDate) & "', " & _
"Uhrzeit='" & FormatDateTime(.lblUhrzeit, vbShortTime) & "' " & _
"WHERE KRN='" & strKRN & "' " & _
"AND DAY(Datum)='" & Day(datDatum) & "' " & _
"AND MONTH(Datum)='" & Month(datDatum) & "' " & _
"AND YEAR(Datum)='" & Year(datDatum) & "' " & _
"AND HOUR(Uhrzeit)='" & Hour(datUhrzeit) & "' " & _
"AND MINUTE(Uhrzeit)='" & Minute(datUhrzeit) & "'"
cn.Execute strSQL
End With
Bei der Ausführung des Codes kriege ich jedoch immer folgende Fehlermeldung zurück:
Fehlerquelle: Microsoft JET Database Engine
Fehlernummer: -2147217900
Beschreibung: Syntax error in UPDATE statement.
Ich finde den Fehler in der Syntax leider nicht. Bin froh um jede Hilfe...
Danke im voraus & Gruss!
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL String Syntax Error
06.03.2006 18:52:08
Manuel
Hi Andreas.
Sind in der Datenbank evtl ein oder mehrere Felder, die du updaten willst oder abfragst vom Typ Zahl (integer, double, long, was auch immer^^).
Wenn ja, entferne die "'" bei den Variablen.
Bitte um Rü, ob es geholfen hat.
Mit freundlichen Grüßen
Manuel Marhold
AW: SQL String Syntax Error
06.03.2006 19:38:29
EtoPHG
Hallo Andreas,
Ich zweifle die Syntax
DAY(Datum)
MONTH(Datum)
HOUR(Uhrzeit) etc.
in der WHERE CLAUSE an. Gibt es wirklich Columns (Fields) in der table tblMT, die so angesprochen werden. Mir ist diese Syntax völlig fremd.
Gruss Hansueli
AW: SQL String Syntax Error
07.03.2006 17:04:00
Andreas
Hallo Hansueli
Vielen Dank für Deine Antwort!
Die Syntax
DAY(Datum)
MONTH(Datum)
HOUR(Uhrzeit)
funktioniert bei mir in einem SELCECT Statement. Daran kann es m.A. nach also nicht liegen
Freundliche Grüsse
Andreas
Anzeige
AW: SQL String Syntax Error
07.03.2006 17:01:42
Andreas
Hallo Manuel
SORRY für das später Feedback. Ich hatte e-Mail Notification eingestellt aber das hat anscheinend nicht funktioniert...
Ich habe Deinen Tipp befolgt, es hat jedoch leider nicht geklappt. Wenn ich bei meinem Code nur 1 Feld update, funktioniert es. Der Fehler tritt erst auf, wenn ich mehrere SET hintereinander kupple. Dort muss irgendwo das Problem liegen...
Freundliche Grüsse
Andreas
AW: SQL String Syntax Error
07.03.2006 17:21:43
Manuel
Hi Andreas.
Wäre es möglich, dass du die Datei hochlädst?
Mit freundlichen Grüßen
Manuel Marhold
AW: SQL String Syntax Error
07.03.2006 17:35:36
Andreas
Das geht aus 2 Gründen leider nicht:
1. der Code greift auf andere Dateien zu
2. es befinden sich Kundendaten in der Liste
Aber so wie ich das sehe schnalle ich es einfach nicht, mehrere SET-Anweisungen hintereinander zu hängen. Wenn das klappen würde, dann wäre das Problem meiner Ansicht nach gelöst.
Freundliche Grüsse
Andreas
Anzeige
AW: SQL String Syntax Error
09.03.2006 23:11:29
Manuel
Hi Andreas.
Sry, ich habe da keinen Fehler gefunden.
haste es mal mit einem Recordset und der Updatefuntion versucht?

Sub a()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.Open "[Datenbank]", "[user]", "[pw]"
rs.Open "SELECT * FROM tblMT WHERE KRN='" & strKRN & "' " & _
"AND DAY(Datum)='" & Day(datDatum) & "' " & _
"AND MONTH(Datum)='" & Month(datDatum) & "' " & _
"AND YEAR(Datum)='" & Year(datDatum) & "' " & _
"AND HOUR(Uhrzeit)='" & Hour(datUhrzeit) & "' " & _
"AND MINUTE(Uhrzeit)='" & Minute(datUhrzeit) & "'", conn, adOpenStatic, adLockOptimistic
If Not (rs.BOF And rs.EOF) Then
rs.MoveFirst
If rs.Supports(adUpdate) = True Then
While Not rs.EOF
With frmKundenInfo
rs.Fields("Aktion") = .cbAktion.Value
rs.Fields("Resultat") = .cbResultat.Value
rs.Fields("Status") = .cbStatus.Value
rs.Fields("Massnahmen") = .txtMassnahme.Value
rs.Fields("Check") = .txtKontakt.Value
rs.Fields("MA") = Environ("Username")
rs.Fields("Datum") = FormatDateTime(.lblDatum, vbShortDate)
rs.Fields("Uhrzeit") = FormatDateTime(.lblUhrzeit, vbShortTime)
End With
rs.Update
rs.MoveNext
Wend
Else
MsgBox "Unterstützt kein Update, andere Connection wählen.", vbCritical
End If
Else
MsgBox "Keine Daten in Tabelle 'tblMT'.", vbaExclamation
End If
End Sub

Dazu musst du einen verweis auf "Microsoft ActiveX DataObjects 2.8 Library" setzen.
Bitte um Rü
Manuel
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige