上次更新: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 近期問題的修正或因應措施

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對翻譯品質的滿意度為何?
會影響您使用體驗的因素為何?

感謝您的意見反應!

×