Tuesday, January 4, 2022

Access erkennt die Identitätsspalte in einer verknüpften SQL Server-Tabelle nicht

Zuletzt aktualisiert: 23. Januar 2020

AUSGABE

Wenn Sie einen Link zu einer Tabelle in SQL Server erstellen, die über eine Identitätsspalte verfügt, identifiziert Access diese Spalte normalerweise als AutoWert-Spalte.

Zeigen Sie, dass die Identitätsspalte als AutoWert-Feld identifiziert wird

In Builds des aktuellen Kanals (16.0.12325.*) der Version 1912 von Office 365 und Office 2016/2019 werden Identitätsspalten nicht korrekt identifiziert und stattdessen nur als Zahl erkannt.

Identitätsspalte nicht korrekt als AutoNumber identifiziert

Dies geschieht beim Erstellen neuer Links über die Benutzeroberfläche oder über Code, jedoch nur für neue Links. Bestehende Links sind davon nicht betroffen, es sei denn, der Link wird aktualisiert.

Access verwendet die richtige Identifizierung einer Identitätsspalte für eine Reihe von Zwecken, sodass sich dies auf verschiedene Weise auf Anwendungen auswirken kann.

Beispielsweise wird eine Identitätsspalte normalerweise verwendet, um einen neu hinzugefügten Datensatz zu identifizieren. Wenn die Identitätsspalte nicht verwendet wird, kann Access die neu hinzugefügte Zeile möglicherweise nicht richtig finden, was dazu führt, dass die Felder in dieser Zeile als #Gelöscht angezeigt werden.

Zeile mit Feldern mit der Aufschrift Gelöscht

Möglicherweise treten ähnliche Probleme auf, wenn Sie die RecordSet.LastModified-Eigenschaft verwenden, um Werte für den zuletzt hinzugefügten Datensatz abzurufen. Der folgende Code:

 Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn") rst.AddNew rst!CompanyName = "Contoso" rst.Update rst.Bookmark = rst.LastModified MsgBox rst!CompanyName

Kann zu Fehler 3167 führen:

Fehler, der angibt, dass der Datensatz gelöscht wurde.

In beiden Fällen wird der Datensatz erfolgreich hinzugefügt, aber Access kann ihn nicht erfolgreich finden.

Access ignoriert normalerweise auch Versuche, die Identitätsspalte direkt zu aktualisieren. In diesen Builds lässt es den Versuch jedoch zu, schlägt jedoch fehl und generiert eine Fehlermeldung:

[SQL Server] Der explizite Wert für die Identitätsspalte in der Tabelle 'tblOrders' kann nicht eingefügt werden, wenn IDENTITY_INSERT auf OFF gesetzt ist. (#544)

STATUS: BEHOBEN

Der Fix für dieses Problem ist jetzt für Version 1912 verfügbar. Möglicherweise müssen Sie ein Update explizit erzwingen, um den Fix zu erhalten. Die feste Build-Nummer sollte 12325.20344 lauten.

Wenn Sie Insiders Slow (Version 2001) oder Insiders Fast (Version 2002) verwenden. Der Fix wird in diesen Kanälen noch nicht bereitgestellt, daher möchten Sie möglicherweise zum aktuellen Kanal wechseln.

Hinweis: Nachdem Sie Versionen geändert haben, müssen Sie alle betroffenen Links aktualisieren, um sicherzustellen, dass sie sich wieder korrekt verhalten.

Icon-Experten (Gehirn, Zahnräder)

Fragen Sie die Experten

Treten Sie mit Experten in Kontakt, diskutieren Sie die neuesten Nachrichten, Updates und Best Practices und lesen Sie unseren Blog.

Microsoft Tech-Community

Icon-Community

Holen Sie sich Hilfe in der Community

Stellen Sie eine Frage und finden Sie Lösungen von Supportmitarbeitern, MVPs, Ingenieuren und anderen Office-Benutzern.

Office-Forum zu Antworten

Anforderung einer Symbolfunktion (Glühbirne, Idee)

Schlagen Sie eine neue Funktion vor

Wir freuen uns, Ihre Vorschläge und Ihr Feedback zu lesen! Teile deine Gedanken. Hörten zu.

Rückmeldung geben

Siehe auch

Korrekturen oder Problemumgehungen für aktuelle Probleme in Access

No comments:

Post a Comment