错误:此记录集不可更新

时间:2012-09-14 16:10:46

标签: ms-access sql-update sql-server-2012 ms-access-2010 recordset

我几个小时都遇到了这个错误。 在open_form事件中,我将值设置为recordset,如此

Id = vId。 但是使用1表格,无论我更新哪个字段,我都会收到此错误。

This recordset is not updateable

我读过这篇文章http://support.microsoft.com/default.aspx?...kb;en-us;328828

我试了很多东西。什么都行不通 没有关系,我得到navigation control,表单是dynaset,我有一个primary key autoincrementallow edits已启用,data entry已设置为是

此外,我获得了编辑此表的权限

之前有人遇到此错误吗?

此外,我将97转换为2010,现在我的表格已链接到SQL server 2012。 我不知道它是否正常工作因为它不是我的应用程序,但我想它是功能

2 个答案:

答案 0 :(得分:3)

检查表单的记录源。如果是SELECT语句,请将SQL复制到新Access查询的SQL视图中。

然后在数据表视图中打开该查询。如果您无法在数据表视图中编辑数据,则必须弄清楚如何修改查询以便它可以返回可编辑的记录集。

答案 1 :(得分:2)

如果这有助于任何人,我对此问题有不同的原因。

当我们从一个SQL Server转换到另一个SQL Server时,此处的人员删除了所有链接表,并为每个Access MDB重新设置它们。

对于一个表(实际上指向一个SQL视图,它是查询导致问题的表单的链接表),人们没有检查列以指定链接表的“索引” (IIRC)专栏......即使在对话框中甚至有一点评论,如果你想更新,有必要检查一个字段。幸运的是,视图正在选择一个ID,所以我尝试了它并且它有效。 (如果没有用,我将指定构成SQL表的键的视图列,该表是表单正在更新的表。)

我在论坛上看到过关于“所有更新表格的表格需要如何拥有索引”的评论,并且我检查了视图引用的SQL表,但我没有想到“表格” “意味着Access”链接表“。我看到在链表上指定索引的唯一地方是重新添加链接表。