Announcement

Collapse
No announcement yet.

Die zum Aktualisieren angegebene Zeile wurde nicht gefunden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Die zum Aktualisieren angegebene Zeile wurde nicht gefunden

    Hallo,
    Ich greife über ein DBGrid auf eine DBF - Tabelle ( Verbindung über ODBC und ADO) zu. Mit dem Befehl Edit setze ich die Tabelle in Editiermodus. Nach einigen Änderungen der Feldinhalte (z.B.: TblEtikettenANZTEILE.AsInteger := 0) möchte ich die Änderungen mit Post abspeichern.

    Nun mein Problem.
    Beim Aufrufen der Post - Methode bekomme ich folgende Fehlermeldung :

    "Die zum Aktualisieren angegebene Zeile wurde nicht gefunden. Einige Werte wurden seit dem letzten Lesen ggfs. geändert."
    Ursprungsexception: EOleException

    Kann mir jemand helfen ?
    Danke

  • #2
    Hallo,

    wenn ADO über einen ODBC-Treiber auf die Tabelle zugreift, bestimmte das schwächste Glied in der Reihenschaltung das Verhalten der kompletten Anwendung. Im Fall einer DBF-Tabelle hat man keine Möglichkeit, die von ADO generierten Anweisungen mitzuverfolgen, so dass ich gleich zur "Brechstange" greifen würde:
    <pre>
    ADODataSet1.Recordset.Properties['Update Criteria'].Value := adCriteriaKey;
    </pre>
    Nachdem die Datenmenge geöffnet wurde, legt der Wert <b>adCriteriaKey</b> fest, dass nur der <b>Primärschlüssel</b> der Tabelle als Selektionskriterium verwendet werden soll. In diesem Fall verschwindet das Problem (falls die Tabellen auch wirklich einen Primärschlüssel hat). Das Verhalten entspricht dabei der Eigenschaft <b>UpdateMode</b> von TTable/TQuery (BDE)

    Comment

    Working...
    X