【问题标题】:error on updating subform Access 2010更新子窗体 Access 2010 时出错
【发布时间】:2016-03-31 09:51:53
【问题描述】:

我在数据表视图中有一个主窗体和一个子窗体。它们通过 2 个 ID 字段链接,这些字段构成附加到主表单的表的主键。

我第一次调用主窗体将记录插入数据库,然后再调用它来更新记录。我可以更新主窗体上的记录,但是当我单击子窗体时,我收到一条错误消息,提示 "Cannot perform cascading fucntion. It would result in a duplicate key in table"

奇怪的是,当我尝试更新数据库中第一条记录中的数据时,我没有收到此错误。

关系

子表单属性

【问题讨论】:

    标签: ms-access ms-access-2013


    【解决方案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 中调试临时删除主键并允许键字段中的任何值。它可能有助于了解问题所在。
    猜你喜欢
    • 2017-01-09
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多