Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

INSERT INTO funktioniert nicht (access-datenbank)

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

habe ein Problem beim Insern von Daten in meine Access-Tabelle.

Ich führe ein

sqlstr = "INSERT INTO tbl_test (feld2,feld3) VALUES ('"&request.querystring("wert2")&"','"&request.querystring(wert3)&"')"

dbconn.EXECUTE(sqlstr)

Ich bekomme folgende Fehlermeldung:

Syntaxfehler in der INSERT INTO-Anweisung

Keine Ahnung wo mein Fehler liegt.

Ich habe die Datenverbindung per ODBC. Lesen kann ich von der Tabelle. Sprich einen Select kann ich ausführen.

Meine Tabelle hat 3 Felder, wobei das erste Feld per Autowert gefüllt wird. Ist dies vielleicht der Grund?? Ich suche verzweifelt nach dem Fehler.

Oder ist irgendiwe meine Tabelle gesperrt?? Muss einen Benutzer angeben? Liegt es eventuell daran? Es existiert kein Benutzer und auch kein Passwort.

Vielleicht ist auch meine Datenbank schreibgeschützt, aber wo kann ich das deaktivieren wenn dies der Fall wäre? Da wo ich geschaut habe und etwas bezüglich schreibschutz gesehen habe war das alles immer inaktiv

Würde mich sehr freuen wenn mir jemand helfen könntet.

Danke schön!!

Hi,

doch die Hochkommas waren mal wieder ein Schreibfehler hier. Sorry.

Das ist im Programm richtig. Es gibt ja zwei Möglichkeiten beim Beschreiben von Access Tabelle. Beim Verwenden der anderen Möglichkeit kommt als Fehlermeldung das eventuell die Tabelle oder Datenbank schreibgeschützt ist.

Wo kann ich den Schreibschutz festlegen und entfernen? Mir ist nicht bewusst wo der Schreibschutz drauf ist. Habe eine ODBC Verbindung als Datenbankconnect aufgebaut.

Originally posted by Darth_Zeus

sqlstr = "INSERT INTO tbl_test (feld2,feld3) VALUES ('"&request.querystring("wert2")&"','"&request.querystring(wert3)&"')"

bei Wert2 hast du Hochkomma, bei Wert3 nicht, evtl liegt es daran.

Versuch doch mal diese request.querystring vorher in eine Variable zu speichern und dann die select anweisung mit der variable auszuführen, vielleicht funktioniert das nicht, wenn du noch extra Anführungszeichen da hast (siehe "wert2" z.B.)

Ansonsten sehe ich in der SQL-anweisung keinen fehler

weiterhin kannstes auch mit

DoCmd.RunSQL sqlstr

mal versuchen, vieleicht liegts ja an deinem Befehl...

Gruß Cmd.COM

Danke für die zahlreichen Hilfen,

also in der Tabelle wurden die Felder als Text- Felder deklariert.

Die Werte die ich da reinschreibe sind schon Zahlen. Aber ich habe das ganze auch mal ohne Zahlen und ohne Variablen probiert. Nur Strings angegeben. Es kam der selbe Fehler. Müsste ich eventuell beim Datenbankconnect einen User angeben bzw eine USER ID=name ? oder ist es egal ob ein Name exestiert oder nicht??

mein datenbank connect schaut wie folgt aus:

set dbconn = server.createObject("ADODB.Connection")

dbconn.connectionString="DSN=dsnname;database=datenbankname"

dbconn.open

Gruss Azubi-Tigerente

sqlstr = "INSERT INTO tbl_test (feld2,feld3) VALUES ('"&request.querystring("wert2")&"','"&request.querystring(wert3)&"')"

Probiers mal mit deutlich weniger '''''''.

sqlstr = "INSERT INTO tbl_test (feld2,feld3) VALUES ('&request.querystring('wert2')&','&request.querystring(wert3)&')"

Oder so, ich denke, da liegt der Fehler, nicht beim Connect.

Ansonsten stimmt auch die Syntax in meinen augen, ich oute mich aber immer wieder gerne als Nicht-Access-Spezialist.

Autowert sollte auch nicht das Problem sein, ich hab es mit ner siplen Anweisung ausprobiert, das geht so

Flo

Originally posted by Darth_Zeus

Probiers mal mit deutlich weniger '''''''.

Nö, die passen so bei Access, mit weniger gehts nicht.

@azubi-tigerente: Mach mal vor und nach den "&"-Zeichen jeweils ein Leerzeichen. So nen ähnlichen Fall hatte ich auch schon mal, da lags dann da dran. Ansonsten ist die Syntax selber meiner Meinung nach in Ordnung.

Was auch noch sein könnte, das du in den "request.querystring" Zeichen drin hast, die die SQL-Anweisung durcheinander bringen, wie z.B. Anführungszeichen. Lass dir am besten mal sqlstr als Messagebox anzeigen und überprüfe da drin mal ob die Syntax noch passt.

Den Connection-String schliesse ich als Fehler eigentlich aus, da die Fehlermeldung eindeutig sagt, das mit der SQL-Anweisung was nicht stimmt.

Lass dir doch mal den Inhalt des SQL-Strings ausgeben. Vielleicht kann man sehen, was da schiefläuft.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.