Supportnet Computer
Planet of Tech

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
Zitat:
Set rs = db.OpenRecordset("SELECT * FROM tbl_verl WHERE sid = Forms![Formular1]![txt_ID]", dbOpenDynaset)
:
  • Hast Du schon probiert, eine Variable einzusetzen?
     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.

    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.

    Antwort 4 von firefox

    Hast du schon mal den direkten Weg über SQL versucht?
    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.

    Antwort 6 von piano

    Hallo
    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.

    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

    Ich möchte kostenlos eine Frage an die Mitglieder stellen:


    Ähnliche Themen:


    Suche in allen vorhandenen Beiträgen: