Applies ToMicrosoft 365 Access Access 2021 Access 2019 Access 2016

上次更新:2020 年 1 月 23 日

問題

當您在具有識別資料行的 SQL Server 中建立資料表連結時,Access 通常會將該資料行視為 [自動編號] 資料行。

顯示識別資料行被識別為 [自動編號] 資料行

在 Office e365 版本 1912 的目前通道組建 (16.0.12325.*) 和 Office 2016/2019 中,識別資料行無法正確辨識,且只能辨識為數字。

識別資料行未正確識別為 [自動編號]

當您透過使用者介面或透過程式碼建立新連結時,就會發生這種情況,但只會發生在新連結上。  除非重新整理連結,否則現有的連結不會受到影響。

Access 會因多種目的使用識別資料行的正確識別,因此這可能以多種方式影響應用程式。

例如,識別資料行通常是用來識別新增的記錄。  當不使用識別資料行時,Access 可能無法正確找到新增的資料列,這會導致資料列中的欄位顯示為 #Deleted。

顯示表示欄位已刪除的資料列

在使用 RecordSet.LastModified 屬性擷取最近新增的記錄值時,可能會看到類似的問題發生。 下列程式碼:

Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")

rst.AddNew
rst!CompanyName = "Contoso"
rst.Update

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

可能導致錯誤 3167:

指出記錄已刪除的錯誤。

在這兩種情況下,記錄都會成功新增,但是 Access 將無法成功找到記錄。

Access 通常也會忽略直接更新識別資料行的嘗試。 不過,在這些組建中,可能會允許嘗試但失敗,並產生錯誤訊息:

[SQL Server] 當 IDENTITY_INSERT 設為 [關閉] 時,無法在資料表 'tblOrders' 中插入識別資料行的明確值。(#544)

狀態:已修正

此問題的修正程式現已推出版本 1912。  您可能需要明確地強制接收修正程式的更新。  已修正組建編號應為 12325.20344。

如果您使用的是測試人員 - 慢(版本 2001)或測試人員 - 快( 版本 2002)。 那些通道尚未提供此修正程式,因此您可能需要移至目前通道。

變更版本之後,您必須重新整理任何受影響的連結,以確保它們再次正確運作。

專家圖示 (大腦、齒輪)

向專家提問

與專家取得聯繫、討論最新資訊、更新資訊和最佳做法,並閱讀我們的部落格。

Microsoft 技術社群

社群圖示

在社群中獲得協助

向支援專員、最有價值專家、工程人員和其他 Office 使用者提問,並取得相關的解決方案。

Answers 上的 Office 論壇

功能要求圖示 (燈泡、想法)

建議新功能

我們很樂意讀取您的建議和意見反應! 分享您的想法。 我們隨時洗耳恭聽。

提供意見反應

另請參閱

Access 近期問題的修正或因應措施

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。