Zum Inhalt springen

INSERT INTO funktioniert nicht (access-datenbank)


azubi-tigerente

Empfohlene Beiträge

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!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...