Supportnet / Forum / Datenbanken
Update der Tabelle erfolglos
Frage
Guten Tag,
Ich habe ein großes Problem mit Access97.
Bei einer Update Anweisung trat ein Fehler auf.
2246
Microsoft Access kann die Abfrage kann nicht ausführen, da die Parameterwerte zu umfangreich sind. Die Gesamtlänge aller als Parameter angegebenen Werte darf 1.024 Zeichen nicht überschreiten.
Ich möchte den Text mehrere Felder, von einem Formular, zur Tabelle tbl_verl hinzufügen.
Habe die Update anweisung gesplittet, sodass Access erstmal nur ein Feld updatet. Die Zeichen länge in dem Feld beträgt ca. 600 Zeichen. Aber Trotzdem kommt der Fehler.
Nun habe ich es über den Recordset probiert. Doch da hatte ich auch Probleme.
Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid = Forms![Formular1]![txt_ID]", dbOpenDynaset)
Doch hier erkennt er das WHERE Kriterium nicht. Obwohl der Pfad des Textfeldes stimmt. Access nimmt das Krit. nur an wenn ich dort die ID direkt angebe.
Habe es dann über den Filter probiert mir den Datensatz herauszufiltern und mit Edit den Ds hinzu zufügen. Doch nun der nächste Fehler. 3197
Das Microsoft Jet-Datenbankmodul hat den Vorgang angehalten, da Sie und ein weiterer Benutzer gleichzeitig versuchen, dieselben Daten zu verändern.
--> wegen LockEdits nicht möglich<-------
Nachdem ich nun eine ganze Palette an Fehlermeldungen durch habe. Wollte ich euch fragen ob Ihr eine Lösung für mein Problem hättet.
Danke
Antwort 1 von piano
Hallo
zu Variante
Hast Du schon probiert, eine Variable einzusetzen?
zu Variante
Zitat:
Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid = Forms![Formular1]![txt_ID]", dbOpenDynaset)
:Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid = Forms![Formular1]![txt_ID]", dbOpenDynaset)
dim _ID as Integer
_ID =val(Forms![Formular1]![txt_ID)
Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid = _ID [/code]
Sind die Formate von sid und Formularfeld gleich?
Kann leider nicht testen, da ich Office XP einsetze.
Gruss piano
Antwort 2 von Kosta
Zuerst txt_id.SetFocus.
Dann die Abfrage.
Dann die Abfrage.
Antwort 3 von Tommy T.
Danke für eure Antworten.
Doch leider hat bisher nix funktioniert.
selbst wenn ich.......
Dim ID As Integer
ID = Zahlenwert
und in die WHERE Klausel einfüge reagiert es nicht.
Mit SetFocus geht es leider auch nicht.
Würde mich über weitere Vorschläge freuen.....
Mfg
Tommy T.
Doch leider hat bisher nix funktioniert.
selbst wenn ich.......
Dim ID As Integer
ID = Zahlenwert
und in die WHERE Klausel einfüge reagiert es nicht.
Mit SetFocus geht es leider auch nicht.
Würde mich über weitere Vorschläge freuen.....
Mfg
Tommy T.
Antwort 4 von firefox
Hast du schon mal den direkten Weg über SQL versucht?
Also direkt mit UPDATE.
Also direkt mit UPDATE.
Antwort 5 von Tommy T.
Ja das habe ich ja als erstes getan. Steht oben in meiner Frage als erstes.
erhalte hierbei immer folgenden Fehler.....
2246
Microsoft Access kann die Abfrage kann nicht ausführen, da die Parameterwerte zu umfangreich sind. Die Gesamtlänge aller als Parameter angegebenen Werte darf 1.024 Zeichen nicht überschreiten.
Dadurch mein Textfeld auch schon mal 600 Zeichen beinhalten kann.
Problem ist das ich später die Update anweisung gesplittet habe, sodass er jedes der 4 Felder einzeln updatet. doch der Fehler kommt trotzdem, obwohl ich die maximale Zeichenlänge nicht erreicht habe.
erhalte hierbei immer folgenden Fehler.....
2246
Microsoft Access kann die Abfrage kann nicht ausführen, da die Parameterwerte zu umfangreich sind. Die Gesamtlänge aller als Parameter angegebenen Werte darf 1.024 Zeichen nicht überschreiten.
Dadurch mein Textfeld auch schon mal 600 Zeichen beinhalten kann.
Problem ist das ich später die Update anweisung gesplittet habe, sodass er jedes der 4 Felder einzeln updatet. doch der Fehler kommt trotzdem, obwohl ich die maximale Zeichenlänge nicht erreicht habe.
Antwort 6 von piano
Hallo
Ein letzter Versuch:
Hast Du schon versucht das Textfeld in ein Memofeld umzuwandeln?
Ein letzter Versuch:
Hast Du schon versucht das Textfeld in ein Memofeld umzuwandeln?
Antwort 7 von Tommy T.
Hallo
Die 4 Felder der Tabelle, um die es geht., sind Memo Felder.
Die 4 Felder der Tabelle, um die es geht., sind Memo Felder.
Antwort 8 von trekking
Habe das ganze mal gelesen und hätte eine Frage ob ich das richtig verstehe:
Du hast in einem Formular 4 Mem,o Felder, die du mit text füllst. Danach soll das ganze in einer Tabelle abgespeichert werden?!
Gruß trekking
Du hast in einem Formular 4 Mem,o Felder, die du mit text füllst. Danach soll das ganze in einer Tabelle abgespeichert werden?!
Gruß trekking

