Access 2013表

时间:2017-09-15 11:11:29

标签: ms-access foreign-keys ms-access-2013

自从我认真使用Access并且我正在努力解决问题以来,已经很长时间了!这些天我对SQL更加满意了!

我有两张桌子,让我们说顾客和RelationshipStatus(我为了说明的目的而制作这些表格!)。在我的Customer表中,我有一个RelationshipStatusID列(类型:数字),它链接到RelationshipStatus表的ID(主键,类型:自动编号)列。标准的一对多联接。

我还检查了Enforce Referential Integrity框的联接,因为我不希望人们能够在RelationshipStatusID列中输入一个不是RelationshipStatus中有效ID的值表,或者能够删除Customer表中相关记录的关系状态。

最后,在加入类型中,我已指定"包括来自'客户'的所有记录。并且只有来自关系状态'的记录。连接字段相等的位置"。

问题是这种关系是可选的。我希望能够创建没有链接RelationshipStatus记录的客户记录。但是,当我尝试编辑新客户记录的子表单中的数据时,我收到错误"您无法添加或更改记录,因为表格中需要相关记录' RelationshipStatus'。 / p>

我已经对此进行了一些搜索,我认为我的问题可能是我的客户(RelationshipStatusID)中的外键列的默认值为0,这显然不是有效的ID。 RelationshipStatus表。但是,我无法删除表定义中的默认值,或将其设置为NULL。

我做错了什么?强制执行参照完整性是否强制要求链接记录?如果没有,我如何删除外键列的默认值(我认为)导致错误?

1 个答案:

答案 0 :(得分:0)

在我的情况下,问题确实是表格设计中我的外键列的默认值0,但由于某些原因,我在编写问题时无法删除默认值。重新启动PC后(周末关闭,也许有帮助!)我能够删除外键列中的默认值,一切都很顺利。