错误:此记录集不可更新
我被这个错误困住了好几个小时。 在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
设置为yes
而且,我编辑此表权限
任何人都遇到过此错误?
此外,我将97转换为2010,现在我的表格链接到SQL server 2012
。 我不知道它是否工作之前,因为它不是我的应用程序,但我想它是功能
检查窗体的记录来源。如果它是SELECT
语句,请将SQL复制到新的Access查询的SQL视图中。
然后在数据表视图中打开该查询。如果无法在数据表视图中编辑数据,则必须弄清楚如何修改查询,以便它可以返回可编辑的记录集。
如果这有助于任何人,我对这个问题有不同的原因。
当我们从一个SQL Server转换到另一个时,这里的人员删除了所有链接表,并为每个Access MDB再次设置它们。
对于一个表(它实际上指向一个SQL视图,哪个是查询引起问题的表单的链接表),人们没有检查列以指定链接表的“索引“(IIRC)专栏...即使在对话中甚至有一点评论,如果你想更新,有必要检查一个或多个字段。幸运的是,该视图选择了一个ID,所以我尝试了它,并且它工作。 (如果这没有奏效,我将指定构成SQL表格的关键字的视图列,该表格是由表格更新的表格)。
我曾在论坛上看到关于“所有更新表单的表需要有一个索引“,并且我检查了视图引用的SQL表,但是我没有想到”表“意味着Access”链接表“。我看到在链接表上唯一指定索引的地方是重新添加链接表时。
将表单的Data Entry属性设置为Yes表示表单不会显示现有记录,只允许您添加新记录。那是你想要的吗?但是,我不知道这是否会导致您尝试解决的问题。 – HansUp
如果表单的记录源是一个查询,它可能有助于向我们展示查询的SQL。 – HansUp
非常感谢。它现在起作用了。你让我看看Record源,并且有3个连接,其中一个连接在没有设置主键的表上。我只是设置Id来修复它。你可以把它写成答案来获得要点:) – Marc