更新Access 2013中除标识列以外的所有行

时间:2016-06-06 15:00:21

标签: vba ms-access access-vba ms-access-2013

我在Access中有一个表单链接到SQL Server表。该表有一个UID。在Access中创建新记录后,它会尝试更新表(包括UID)并给出错误:

  

当IDENTITY_INSERT设置为ON或复制用户插入NOT FOR REPLICATION标识列时,必须为表'TableName'中的标识列指定显式值。

现在,我理解为什么会出现这种错误,但我不确定如何解决它。我无法更改IDENTITY_INSERT,并且Access中的UID列将表单链接到子表单,因此我需要将其包含在表单中。 如何从ODBC更新中仅排除UID列?我知道我可以使用宏来显式定义要更新的列,但必须有一种更简单的方法。有Me!UIDTextbox.Undo这样的函数我可以在Before Update事件中运行吗?

更多细节: Access中没有VBA模块或查询。它是一个标准的SQL服务器表,Access表单在记录更改时更新表(Access的默认值)。该表与标准ODBC数据库连接链接,UID为主键。

1 个答案:

答案 0 :(得分:1)

使用Identity列作为Access中的主键可能是一个全局性问题。

补丁的想法和可能的解决方法 Problem with identity fields in MS-Access

相关问题