Announcement

Collapse
No announcement yet.

Hilfe das nervt

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

  • Hilfe das nervt

    Bei meinen Datenbanken handelt es sich um SQL 2000 Datenbanken, als Client verwende ich Access 2002. Seit der Umstellung auf SQL 2000 bekomme ich immer öfters die Meldung: Dieser Datensatz wurde seit Beginn der Bearbeitung von einem anderen Benutzer geändert....
    Das mysteriöse daran, es gibt keine anderen Benutzer und nur ich arbeite unter Access mit der SQL 2000 Datenbank.
    Kann man diese Meldung unterdrücken bzw. vermeiden?

    Vielen Dank für Eure Hilfe im voraus.

    Gruß

    G.B.

  • #2
    Hallo,
    der Grund für derartige Problem liegt darin, dass ACCESS intern nicht die gleichen Datentypen verwendet wie der MS SQL Server. Insbesondere sind die "ungenauen" Datentypen (wie zum Beispiel Gleitkommazahlen) problematisch. Wenn ACCESS über ADO einen Datensatz speichern will, vergleicht es im WHERE-Abschnitt alle Werte miteinander. Wenn es "Rundungsfehler" gibt, passt bei diesem Vergleich kein Datensatz aus der Datenbank zu diesem Suchmuster - worauf ACCESS mit der Vermutung antwortet, dass ein Dritter diesen Datensatz in der Zwischenzeit geändert hat.

    Das Problem kann gelöst werden, wenn in den MS SQL Server-Tabellen eine <i>Timestamp</i>-Spalte (alias ROWVERSION) hinzugefügt wird, so dass bei einer UPDATE-Anweisung im WHERE-Abschnitt nur noch der Primärschlüsselwert und der Timestamp-Wert verglichen werden müssen. Wenn der Primärschlüsselwert ein Integer-Wert (Ganzzahl) ist, kann es niemals mehr zu Rundungsfehlern kommen

    Comment

    Working...
    X