azubi-tigerente Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 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!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darth_Zeus Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azubi-tigerente Geschrieben 11. Februar 2003 Autor Teilen Geschrieben 11. Februar 2003 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Commander_COM Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 Ist vielleicht eines der Felder (oder beide) ein Zahlentyp? Denn bei Integer, Decimal & Co. darfst keine Hochkommata setzen. ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azubi-tigerente Geschrieben 11. Februar 2003 Autor Teilen Geschrieben 11. Februar 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darth_Zeus Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 11. Februar 2003 Teilen Geschrieben 11. Februar 2003 Lass dir doch mal den Inhalt des SQL-Strings ausgeben. Vielleicht kann man sehen, was da schiefläuft. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.