【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交流群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
- 用DLOOKUP函数将需求表中...(10.31)
- Access日期区间段查询数据...(10.25)
学习心得
最新文章
- Access快速开发平台--在WI...(03.08)
- 使用SQL语句删除xscj表中学号...(03.08)
- Access快速开发平台进销存教程...(03.07)
- Access快速开发平台--frm...(03.06)
- 【Access删除查询】删除数字最...(03.06)
- Access快速开发平台进销存教程...(03.05)
- Access快速开发平台进销存教程...(03.04)
- Access快速开发平台--IsL...(03.02)
- Access两种方式实现即时更新月...(03.01)
- Access开发的资金管理系统;基...(02.29)