【发布时间】:2014-06-15 18:39:34
【问题描述】:
我有一些字段链接到我的主窗体上的子窗体(在数据表视图中),我希望能够从字段中编辑表中的数据,因为子窗体非常宽且难以查看所有它。子表单通过查询提取数据以将多个表放在一起,我认为这就是阻止我根据所见内容编辑字段中的数据的原因。将字段链接到子表单的 SQL 语句对于几个字段如下所示:=[SubformX].[Form]![Data] 我想知道某种 VBA/Query 是否能够根据子表单选择直接填充字段并仍然允许它是已编辑,或者是否有针对此问题的简单修复。
【问题讨论】:
-
查询必须是可编辑的才能对其进行编辑。这听起来多余,但很多人似乎并不理解这一点。在没有表单的情况下运行查询,如果它说“记录集不可更新”,那么你的问题就在那里。如果没有看到数据,就很难说出为什么您的记录集不可更新。如果它链接到 SQL Server,请确保您的表都有索引,否则数据将无法更新。您还可以检查您的关系设置并确保表格正确链接。
-
查询运行良好,我仍然可以编辑它所基于的子表单中的数据,因此我假设数据是可更新的。至于链接,我在 3 个正常工作的不同表之间有 3 个简单的一对多链接,所以我认为这不是问题。
-
所以您有一个无法更新的子表单,它由您可以更新的查询提供?
-
查询和子表单都可以更新,但子表单的父表单上链接到子表单的字段不可更新。
-
啊……是的,因为它们只是参考控件。您必须编写一些代码来打开记录并将值写入表中。据我所知,您不能拥有引用另一个可以更新该控件的控件(数据网格)的控件(文本框)。您真的需要同时在 2 个不同的地方获取数据吗?
标签: sql vba forms ms-access ms-access-2007