Combobox管理子表单可能更新表

时间:2015-04-16 11:27:25

标签: forms ms-access combobox subform

我有一个表单,表单绑定到一个只返回一个字段的查询。在该表单上是一个组合框,绑定到查询字段,子表单对象和一些其他不重要的东西。 Form和Subform之间的Master-Child关系设置为相同的字段。目的是下拉组合框允许我在组合框中添加与该记录有关的子表单的信息(它是学校中的类列表,用于上下文)。这是通过表单和子表单完成的,因为我有各种不同的任务需要为每个类完成 - 目的是能够在主窗体上选择一个类,然后使用它上面的命令按钮来选择打开哪个子窗体取决于我希望执行的任务。

但是,组合框似乎正在尝试更新表 - 我不确定哪一个错误消息不具体:

  

您向表格请求的更改未成功,因为   他们会在索引,主键或中创建重复值   关系。更改包含的字段或字段中的数据   重复数据,删除索引或重新定义索引以允许   重复值,然后重试

如果我从组合框中选择除第一个以外的任何值,然后单击子窗体上的第一个文本框,则会出现

。但是,我可以在子窗体中单击选中组合框中的第一个条目并成功添加数据,我已经检查过它并且它出现在基础表中。

在我看来,作为Access中的一个相对新手,组合框在更改时尝试更新底层数据源,尽管它没有宏。我会假设表格或组合框的属性中有些项目可以防止这种情况发生,但我找不到它们。这只是猜测发生了什么,但我可能是错的。

这可能与this question有关,但我也可能错在那里。无论如何,表单不应该能够更新/编辑/添加记录,但如果我将其属性中的允许编辑设置为“否”,我无法从组合框中实际选择一个值 - 我已设置其他“允许”属性没有问题就“不”。

1 个答案:

答案 0 :(得分:0)

如果更改主窗体中的任何内容然后单击子窗体,Access将尝试自动将数据保存在主窗体中。也许您可以尝试暂时将组合框与文本字段进行交换以进行测试。这应该可以帮助你澄清问题。