更新子窗体 Access 2010 时出错
Posted
技术标签:
【中文标题】更新子窗体 Access 2010 时出错【英文标题】:error on updating subform Access 2010 【发布时间】:2016-03-31 09:51:53 【问题描述】:我在数据表视图中有一个主窗体和一个子窗体。它们通过 2 个 ID 字段链接,这些字段构成附加到主表单的表的主键。
我第一次调用主窗体将记录插入数据库,然后再调用它来更新记录。我可以更新主窗体上的记录,但是当我单击子窗体时,我收到一条错误消息,提示 "Cannot perform cascading fucntion. It would result in a duplicate key in table"
奇怪的是,当我尝试更新数据库中第一条记录中的数据时,我没有收到此错误。
关系
子表单属性
【问题讨论】:
【参考方案1】:据我了解,Size 表中的 Size_No 不是自动编号数据类型。如果是这样,Access 会自动为 Sizes 中的新记录插入 Order_ID 和 Step_No 的值,但 Size_No 保持为 Null,因此当您插入第二条记录时,主键列中的所有 3 个值都相同,并且 Access 会生成错误。您需要在 Sizes 子表单的 BeforeInsert
事件中的 Size_No 中插入新的非空值。每对 Order_ID 和 Step_No 的值应该是唯一的
【讨论】:
感谢您的回复!您对 Size_No 不是自动编号是正确的。我自己通过增加 size_no 编号来管理它。我检查了数据库是否有重复项,但没有。我认为如果有重复,它会阻止我输入数据。但在这里它让我输入数据但不更新它。 尝试从主表单查询表 Incoming 和 Order 中临时删除,以便排除这部分查询的问题,然后重试。如果错误仍然存在,请尝试调试应用程序并检查它尝试将哪些键插入到大小。您还可以从 Sizes 中调试临时删除主键并允许键字段中的任何值。它可能有助于了解问题所在。以上是关于更新子窗体 Access 2010 时出错的主要内容,如果未能解决你的问题,请参考以下文章