Einzelnen Beitrag anzeigen

FediDelPr

Registriert seit: 16. Feb 2018
112 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Selektion über DBGrid, Rückschreiben über ADOQuery

  Alt 25. Dez 2018, 14:50
Datenbank: ACCESS • Version: 2016 • Zugriff über: ADO
Hallo Leidensgenossen,

ich habe ein Problem beim Rückschreiben von Daten in ACCESS-Tabelle:

Ich verwende ein DBGRID in dem ich Daten darstelle die über ADOQuery erzeugt wurden.
Das Query ist relativ komplex (2 Datenbanken, eine davon explizit im SQL-Text aufgeführt, JOINS, UNION, WHERE, ORDER BY, Parameter). Die Abfrage funktioniert einwandfrei.

Im DBGrid selektiere ich nun eine Zeile und lese ein, zwei Felder aus der DB-Tabelle aus und stelle diese separat dar (ShowMessage). Kein Problem.

Jetzt verändere ich eines dieser Felder (Menge) in einem Edit-Control und schreibe es mit
folgendem Code in die Datenbank zurück.
Code:

      menge := ADOQuery1.FieldByName('Menge').AsInteger;
     
      ... Menge editieren

      ADOQuery1.Edit;
      ADOQuery1.FieldByName('Menge').AsInteger := menge;
      ADOQuery1.Post;
Beim Ausführen von Post erscheint folgende Fehlermeldung: "Nicht genügend Basistabelleninformationen zum Aktualisieren .."

Kann mir da jemand weiterhelfen ?
  Mit Zitat antworten Zitat