Access 2013 中的可选外键 Table
Optional Foreign Key in Access 2013 Table
自从我认真使用 Access 以来已经有很长时间了,我正在为一些事情而苦苦挣扎!这些天 SQL 我对 table 感觉舒服多了!
我有两个 table,比方说 Customer 和 RelationshipStatus(我编这些是为了说明!)。在我的客户 table 中,我有一个 RelationshipStatusID
列(类型:数字),它链接到 RelationshipStatus table 的 ID
(主键,类型:自动编号)列。标准的一对多联接。
我还选中了连接的 Enforce Referential Integrity
框,因为我不希望人们能够在 RelationshipStatusID
列中输入不是 RelationshipStatus 中有效 ID 的值table,或者能够删除客户 table 中相关记录的关系状态。
最后,我在连接类型中指定了 "Include ALL records from 'Customer' and only those records from 'RelationshipStatus' where the joined fields are equal"。
问题是这个关系是可选的。我希望能够创建没有链接 RelationshipStatus 记录的客户记录。但是,当我尝试在新客户记录的子表单中编辑数据时,出现错误“您无法添加或更改记录,因为 table 'RelationshipStatus'.[=16 中需要相关记录=]
我已经对此进行了一些搜索,我认为我的问题可能是我在 Customer (RelationshipStatusID
) 中的外键列的默认值为 0,这显然不是有效 ID关系状态 table。但是,我无法删除 Table 定义中的默认值,或将其设置为 NULL。
我做错了什么?强制执行参照完整性是否会使链接记录成为强制性的?如果不是,我如何删除导致错误的外键列的默认值(我认为)?
在我的例子中,问题确实是 table 设计中我的外键列的默认值 0,但由于某种原因,我在编写时无法删除默认值我的问题。重新启动 PC 后(周末休息,也许这有帮助!)我能够删除外键列中的默认值,一切都很好。
自从我认真使用 Access 以来已经有很长时间了,我正在为一些事情而苦苦挣扎!这些天 SQL 我对 table 感觉舒服多了!
我有两个 table,比方说 Customer 和 RelationshipStatus(我编这些是为了说明!)。在我的客户 table 中,我有一个 RelationshipStatusID
列(类型:数字),它链接到 RelationshipStatus table 的 ID
(主键,类型:自动编号)列。标准的一对多联接。
我还选中了连接的 Enforce Referential Integrity
框,因为我不希望人们能够在 RelationshipStatusID
列中输入不是 RelationshipStatus 中有效 ID 的值table,或者能够删除客户 table 中相关记录的关系状态。
最后,我在连接类型中指定了 "Include ALL records from 'Customer' and only those records from 'RelationshipStatus' where the joined fields are equal"。
问题是这个关系是可选的。我希望能够创建没有链接 RelationshipStatus 记录的客户记录。但是,当我尝试在新客户记录的子表单中编辑数据时,出现错误“您无法添加或更改记录,因为 table 'RelationshipStatus'.[=16 中需要相关记录=]
我已经对此进行了一些搜索,我认为我的问题可能是我在 Customer (RelationshipStatusID
) 中的外键列的默认值为 0,这显然不是有效 ID关系状态 table。但是,我无法删除 Table 定义中的默认值,或将其设置为 NULL。
我做错了什么?强制执行参照完整性是否会使链接记录成为强制性的?如果不是,我如何删除导致错误的外键列的默认值(我认为)?
在我的例子中,问题确实是 table 设计中我的外键列的默认值 0,但由于某种原因,我在编写时无法删除默认值我的问题。重新启动 PC 后(周末休息,也许这有帮助!)我能够删除外键列中的默认值,一切都很好。