我刚刚接管了访问网站,我试图找出为什么当我尝试更新一个表中的记录时,它会向我提供此消息。
“Microsoft JET数据库引擎错误'80040e21'
You cannot add or change a record because a related record is required in table 'Members'. "
如何找出相关记录的内容。
感谢您的帮助
答案 0 :(得分:4)
问题是找不到相关记录,问题是会员中没有与您尝试在另一个表中更新的记录相对应的记录。
您可以从查看为数据库设置的关系开始。转到工具菜单,然后选择关系。查找“成员”表与您尝试更新的表之间的任何关系。查看关系中使用的字段。这将告诉您哪个字段导致您尝试更新的表中的问题。对于您尝试输入此字段的任何值,相同的值必须首先存在于成员的相关字段中。
答案 1 :(得分:0)
感谢您的帮助。通过使用上面的一些建议并通过反复试验,我能够使它工作。
问题在于有两个相关领域,这就是为什么当我试图按照我的预期进行操作时,它无法正常工作。
答案 2 :(得分:0)
在我的情况下,我有一个组合框,它正在从另一个需要另一个表的id的表中更改记录的名称。
所以我有表C,它有表B的外键,表B有表A的外键。我的组合框被设置为控制表B的名称字段,所以我改变它来控制外国表C中的关键字(指向表B)。
为了解决我的问题,我选择了组合框,转到了
Property Sheet (F4) ->Data->Control Source
并将其设置为表C中的外键字段(指向表B中的记录)
答案 3 :(得分:0)
我遇到了导致此问题的另一个原因。
调用两个表 A
和 B
。它们之间定义了具有参照完整性的关系。当我尝试在 B
中添加在 A
中有相应记录的记录时,我收到错误“您无法添加或更改记录,因为表 'A' 中需要相关记录” .这是没有意义的,因为所需的相关记录在 A
中。
然后我意识到 B
中的一个字段将其 Display Control
* 设置为一个列表框,其源是 A
并且绑定的列是错误的列号,它是主键。因此,当我尝试在 B
中添加一条新记录时,它查找我添加的主键值的位置错误,当然它没有在那里找到必要的值。当我将绑定列设置为正确的列号时,我能够添加新记录。
'* Display Control
位于选项卡 Lookup
下的表字段属性中。