无法在MS Access窗体中编辑数据,它说“Recordset不可更新”

时间:2012-12-17 13:45:09

标签: forms ms-access ms-access-2010

我有一个表单,其中包含一个子表单,该子表单根据输入字段中的内容显示来自简单查询的数据。

我已将两个表单的属性设置为以下内容,但我仍然遇到“Recordset不可更新”消息。

记录集类型:动态集

允许添加:是的
允许删除:是的
允许编辑:是的
允许过滤器:是的
记录锁定:无锁定

要改变什么?

7 个答案:

答案 0 :(得分:2)

您的查询链接到的表或查询中可能没有主键。

OR(这就是我遇到的问题) 在查询生成器中,确保未启用Solution:行。禁用此功能后,查询将变为可编辑状态。

按启用分组

Group By enabled

右键点击该行,然后点击Group By

Right-Click row

禁用分组

Group By disabled

This page has some good info for troubleshooting

答案 1 :(得分:0)

使Text0不受约束(删除Navn作为控制源)。你有什么相当于循环参考。

您告诉表单除了查询限制之外不显示任何数据,但您的查询不会显示除表单中的内容之外的任何数据。

答案 2 :(得分:0)

我遇到了这个问题,这是由于表之间的关系。我有一些设置为“不确定”,并且认为这是导致问题的原因。修改表关系以使它们都成为一对多后,便可以在查询/表单中编辑字段。

-请注意,要建立一对多关系,关系中的一个字段必须是键或设置为“唯一”。

答案 3 :(得分:0)

我在使用表单向导创建的Access 2016表单中遇到此错误。 它将某些变量(如“数据输入”)设置为“否”。 但是阻止表单进行编辑的是过滤器和排序。 我必须告诉过滤器并排序为“否” 当我重新打开表格时,什么也没显示。 我过滤了一些东西,然后清除了过滤器。 现在该表格可以使用了。

答案 4 :(得分:0)

在我的情况下,我创建了一个表,其中将来自其他各种表的可能组合混合在一起,并具有许多对应的多对一关系。在仅使用该一个组合表的后续查询中,如果我在查询的属性表中选中了“唯一值”,则该查询变得不可更新。可以正常检查“唯一记录”。

缺点是,当对查询中的一个组合字段进行过滤时,我现在从组合表中获取所有这些行(记录),其中该特定字段具有过滤值。如果我勾选了“唯一值”,我将无法理解。

我猜解决方案是进行两个单独的查询:一个仅用于查询无法更新,然后是复制查询(除了在需要更新时取消选中“唯一值”)。

至少您能正确地建立人际关系。

答案 5 :(得分:0)

损坏的表有时可能会丢失其主键,这可能是“记录集不可更新”消息的原因。

答案 6 :(得分:-1)

高于Allow Additions: Yes你应该有类似的东西 Allow datainput。确保此字段设置为false。如果您在选择此字段时阅读状态栏注释,您将理解为什么您的表格突然变得无法从您的公式中删除:)