2

我被这个错误困扰了好几个小时。如果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设置为 yes

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

以前有人遇到过这个错误吗?

此外,我将 97 转换为 2010,现在我的表格链接到SQL server 2012. 我不知道它之前是否有效,因为它不是我的应用程序,但我想它是功能性的

4

2 回答 2

4

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

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

于 2012-09-14T16:46:44.497 回答
2

如果这对任何人都有帮助,我对这个问题有不同的原因。

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

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

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

于 2014-04-09T20:49:09.870 回答