Barvna shema: Riviera
Trenutno dejavna stran: start » de » Dokumentation » Datenintegration und Datenzugriff » WKL OData-ODBC-Treiber » Fehlerbehebung beim OData-ODBC-Treiber » Access meldet bei einem GUID-Schlüssel „Datensatz ist gelöscht“

Access meldet bei einem GUID-Schlüssel „Datensatz ist gelöscht“

In einer verknüpften Tabelle, deren Schlüssel vom Typ uniqueidentifier ist, zeigt das Datenblatt #Gelöscht in jeder Zeile, oder Ändern und Löschen scheitern mit Fehler 3167 „Datensatz ist gelöscht“. Ein Formular, das mit einer Bedingung auf die GUID geöffnet wird, bleibt leer; ein Unterformular, das über die GUID verknüpft ist, zeigt keine Sätze. Filter, Zählen und DLookup über dieselbe Tabelle liefern dagegen richtige Ergebnisse.

Umgebung

Access (ACCDB, ACCDE und Access-Runtime) mit einem Treiber vor der Version 0.6.0. Tabellen mit ganzzahligem oder Text-Schlüssel sind nicht betroffen.

Ursache

Access lädt die Sätze einer verknüpften Tabelle über ihren Schlüssel nach. Dazu liest es den Schlüssel zweimal – einfach und mit vollem Namen (SELECT "Id", "dbo"."Tabelle"."Id") – und bildet seine Lesezeichen aus der zweiten Spalte. Ältere Stände des Treibers füllten bei einer doppelt gewählten Spalte nur die erste, und sie lieferten die GUID an Access, das sich als ODBC-2- Anwendung anmeldet, nicht als Text. Access hielt dadurch jeden Schlüssel für leer, fragte WHERE "Id" IS NULL und fand keinen Satz.

Behebung

  1. Installieren Sie die aktuelle Version des Treibers in der Bitbreite von Office (siehe Den Treiber verteilen).
  2. Schließen Sie Access und öffnen Sie die Datenbank neu; die Verknüpfungen müssen nicht neu angelegt werden.

Prüfung

Öffnen Sie die verknüpfte Tabelle als Datenblatt: Die Sätze erscheinen mit ihren Werten. Ändern Sie einen Wert und verlassen Sie den Satz – er wird gespeichert, eine fremde Änderung dazwischen meldet Access als Schreibkonflikt (3197).

Verwandte Themen

de/wiki/data-conectivity/odata-odbc/troubleshooting/guid-key-record-deleted.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille