2016-03-31 66 views
1

我有一个数据表视图中的主窗体和子窗体。它们通过2个ID字段连接起来,这些字段构成附加到主表格的表格的主键。错误更新子窗体访问2010

我首次调用主窗体将记录插入到数据库中,然后稍后调用它来更新记录。我能够更新主窗体上的记录,但是当我单击子窗体时,出现错误提示"Cannot perform cascading fucntion. It would result in a duplicate key in table"

奇怪的是,当我尝试更新第一条记录中的数据时,数据库。

关系

enter image description here

窗体属性

enter image description here

回答

0

据我所知,在Size_No规格表中没有自动编号数据类型。如果是这样,Access会自动为尺寸中的新记录插入Order_ID和Step_No的值,但Size_No保持为空,因此当您插入第二条记录时,主键列中的所有3个值都是相同的,并且Access会生成错误。您需要在尺寸子窗体的BeforeInsert事件中的Size_No中插入新的非空值。该值应该是唯一的每对Order_ID和Step_No

+0

感谢您的回复!你是对的Size_No不是一个自动编号。我通过增加它来管理size_no编号。我检查了重复数据库,但没有。我认为如果有重复,它会阻止我输入数据。但是这里让我输入数据但不更新它。 –

+0

尝试从主窗体查询表中传入和排序以临时删除此部分查询中的问题,然后重试。如果错误仍然存​​在,请尝试调试应用程序并检查它尝试插入到大小的哪些键。您也可以调试Sizes中的临时删除主键,并允许键字段中的任何值。它可能允许了解什么是错的。 –