我几个小时都遇到了这个错误。
在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 autoincrement
,
allow edits
已启用,data entry
已设置为是
此外,我获得了编辑此表的权限
之前有人遇到此错误吗?
此外,我将97转换为2010,现在我的表格已链接到SQL server 2012
。
我不知道它是否正常工作因为它不是我的应用程序,但我想它是功能
答案 0 :(得分:3)
检查表单的记录源。如果是SELECT
语句,请将SQL复制到新Access查询的SQL视图中。
然后在数据表视图中打开该查询。如果您无法在数据表视图中编辑数据,则必须弄清楚如何修改查询以便它可以返回可编辑的记录集。
答案 1 :(得分:2)
如果这有助于任何人,我对此问题有不同的原因。
当我们从一个SQL Server转换到另一个SQL Server时,此处的人员删除了所有链接表,并为每个Access MDB重新设置它们。
对于一个表(实际上指向一个SQL视图,它是查询导致问题的表单的链接表),人们没有检查列以指定链接表的“索引” (IIRC)专栏......即使在对话框中甚至有一点评论,如果你想更新,有必要检查一个字段。幸运的是,视图正在选择一个ID,所以我尝试了它并且它有效。 (如果没有用,我将指定构成SQL表的键的视图列,该表是表单正在更新的表。)
我在论坛上看到过关于“所有更新表格的表格需要如何拥有索引”的评论,并且我检查了视图引用的SQL表,但我没有想到“表格” “意味着Access”链接表“。我看到在链表上指定索引的唯一地方是重新添加链接表。