PDA

Vollständige Version anzeigen : INSERT INTO bringt Laufzeitfehler


EDV-Stelle
20.10.2011, 08:13
Guten Morgen zusammen!

Seit gestern versuche ich einen an für sich einfachen "Insert Into"-Befehl auszuführen.
Der VBA Code soll mir in die Tabelle beim ausführen des Codes einfach die Werte einfügen.
In der "Mitte" des Codes habe ich es schon mit VALUES versucht und wie unten stehend mit SELECT (hatte ich irgendwo gelesen, dass das auch gehen soll?!)

Beides kommt aber zum Laufzeitfehler 3075, Syntaxfehler (fehlender Operator) in Abfrageausdruck.

Ich finde aber einfach nicht den Fehler... Habt Ihr eine Lösung?

CurrentDb.Execute "INSERT INTO tbl_Dokumente_Historie (Bereich,Dokumentenname,Druckuser,Druckdatum,Druckcomputer,mit_KZ) SELECT (" & Pumpen & ", " & Test.doc & ", " & Schmitz & ", Now(), " & 7855-123 & ", True);"

DANKE, Ralf

EDV-Stelle
20.10.2011, 08:17
Sollte es nicht mit dem Insert Befehl gehen, versuche ich mal den ADD.New Befehl:

Response = acDataErrAdded
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tbl_xxxxxx", DB_OPEN_DYNASET)

rs.AddNew
rs!xx1 = Pumpen
rs!xx2 = ....
etc
rs.Update

rs.Close: Set rs = Nothing
Set db = Nothing

ebs17
20.10.2011, 09:05
Pumpen , Test.doc , Schmitz , 7855-123
... das sind Variablen (so werden diese Ausdrücke oben verwendet)?

Wenn es einfache Werte sind, müssten sie im SQL-String stehen, so wie das Now(). Wenn nicht, solltest Du die Bezeichnungen überarbeiten.

In beiden Fällen gilt zusätzlich: Man muss Datentypen beachten, also z.B. Strings mit Hochkommata einfassen, Datum formatieren (das Now() nicht).