更新子窗体Access 2010时出错

时间:2016-03-31 09:51:54

标签: ms-access ms-access-2013

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

我第一次调用主窗体将记录插入到DB中,然后稍后调用它来更新记录。我可以更新主表单上的记录,但是当我点击子表单时出现错误"Cannot perform cascading fucntion. It would result in a duplicate key in table"

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

关系

enter image description here

子表单属性

enter image description here

1 个答案:

答案 0 :(得分:0)

据我所知,Sizes表中的Size_No不是自动编号数据类型。如果是这样,Access会自动为Sizes中的新记录插入Order_ID和Step_No的值,但Size_No仍为Null,因此当您插入第二条记录时,主键列中的所有3个值都相同,Access会生成错误。您需要在Sizes子表单的BeforeInsert事件中的Size_No中插入新的非空值。对于每对Order_ID和Step_No

,该值应该是唯一的