Access微課連載
網站公告
·Access快速平臺QQ群號:84825014    ·Access快速開發平臺下載地址及教程    ·歡迎添加微信交流賬號:AccessoftChu    ·如何快速搜索本站文章|示例|資料    
您的位置: 首頁 > 技術文章 > ADP及SQL SERVER

【Bug已修復】Access無法識別鏈接的SQL Server表中的“標識列”(數字型的自增列)

時 間:2020-04-28 12:03:15
作 者:金宇   ID:43  城市:江陰
摘 要:Access無法識別鏈接的SQL Server表中的“標識列”
正 文:

此Bug只出現在Office 365/ 2016/2019的版本1912的當前月度頻道版本(16.0.12325.*)中。


問題描述

SQL Server中具有標識列的表通過鏈接到Access,通常會將該列標識為“自動編號”列。


但在Office 365/ 2016/2019的版本1912的當前月度頻道版本(16.0.12325.*)中,標識列未正確標識,而是僅被識別為數字,標識列未正確標識為自動編號。


通過用戶界面或代碼創建新鏈接時會發生這種情況,但僅限于新鏈接。除非刷新鏈接,否則現有鏈接不會受到影響。
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將無法成功找到它。
訪問通常也將忽略直接更新“標識列”的嘗試。但是,在這些構建中,它允許嘗試但失敗,并生成錯誤消息:
[SQL Server]當IDENTITY_Insert設置為OFF時,無法在表'tblOrders'中為標識列插入顯式值。(#544)

解決方法

此問題的修復程序現在可用于版本1912。您可能需要明確強制更新以接收此修復程序。固定的內部版本號應為12325.20344
鏈接:https://docs.microsoft.com/zh-cn/officeupdates/monthly-channel-2020#version-1912-january-22


Access軟件網QQ交流群 (群號:143677707)       access源碼網店

最新評論 查看更多評論(0)

發表評論您的評論將提升作者分享的動力!快來評論一下吧!

用戶名:
密 碼:
內 容:
 

常見問答

技術分類

相關資源

關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助