【发布时间】:2019-03-22 19:40:45
【问题描述】:
我认为我的联系人列表数据库设计是正确的,但是有一个错误。 Access 2013 告诉我:
您无法添加或更改记录,因为表 'COMPANY' 中需要相关记录
我是 Access 新手,这是一个名为“计算机概念 II”的课程。我已经完成了我的任务,并且一丝不苟地按照指示进行操作。本课程仅在线进行,我以 3 种不同的方式尝试了 3 次,但未能从讲师那里获得任何反馈。
这是我尝试过的事情的细分:
- 正如错误似乎表明的那样,我尝试通过关闭 PERSON 表然后打开并在 FAMILY 表中输入数据来解决此问题。我组成了 3 个不同州的家庭,我的真实地址和姓氏输入为第四个。已保存 FAMILY 表。
- 再次打开 PERSON 表并开始从左到右输入数据(屏幕截图)。使用向下箭头键或双击自动调整列宽时,我在开始时遇到错误,引用 COMPANY 表。
-
找到并阅读了以下看似相关的帖子,但它们都没有提供我正在寻找的帮助:
"You cannot add or change a record because a related record is required", but related record exists?
You cannot add or change a record because a related record is required in table
业务规则
- 一个人必须只有一个家庭,但一个家庭可以有很多人。
- 一个人可以为一家或零家公司工作。
- 一家公司可以有零个或多个人。
- 对于 MS Access,PERSON 是 strong 表。
我的 ERD 图
建表
- 构建 PERSON 表。
- 建立 COMPANY 表。
- 构建 FAMILY 表。
建立的关系
- 在表之间创建了关系(参见随附的屏幕截图)。对于可选性,请将 PERSON 设置为“强”表。
- 最初在 FAMILY 表中将 ID-FAM 和 LNAME 字段作为必需字段和索引字段。
- 最初将 PERSON 表中的 ID-PER、ID-FAM_FK 和 ID-COM_FK 作为索引。
- 最初将 ID-COM 作为 COMPANY 表中唯一的索引和必填字段。
在父表中输入数据时遇到“相关记录”错误
- 如使用 Access 2010 文档中所述,我首先在父表 (PERSON) 中输入数据。但是,当我填写完第一行中的所有字段并按“向下箭头”键前进到下一行时,我收到一条错误消息说
“您无法添加或更改记录,因为表 'FAMILY' 中需要相关记录”
嗯,COMPANY 条目是完全可选的,在任何情况下都不是必需的,所以这有点令人困惑。我不确定我做错了什么或从这里去哪里。在这堂课之前我不知道如何使用 Access,但我认为我现在已经掌握了它,并且我已经仔细地按照说明进行操作。因此,我认为问题出在某处配置错误。
【问题讨论】:
-
请在您的问题中编辑附加信息,而不是将其放在评论中。例如您的业务规则。请注意,您的 ER 图并未显示一个人不需要公司。 PS 还有Database Administrators.
-
@philipxy 感谢您的建议!我已经添加了上面的业务规则。问题:为什么我的 ERD 没有显示上述关系?我选择仅显示 PERSON 作为强表的等值连接结果。我是否错误地配置了图表,或者尽管我已正确配置,但 Access 是否无法显示该关系?
-
我已尝试修复此问题以将答案移至答案框 - 我们不会在标题中使用 [已解决] 或将解决方案编辑为问题(尤其是在中间)。我已经从这个问题中删除了很多 HTML,因为它使问题更难编辑 - 首选 Markdown。我还减少了感谢、签名和紧急乞求——这些都是不鼓励的。
-
如果我发布的答案与实际答案不准确,请告诉我,我们可以共同努力将解决方案材料移动到正确的位置。谢谢。
标签: ms-access database-design relational-database ms-access-2013 erd