我正在处理的情况看起来很基本,但我不能让它发挥作用......
情境:
一家公司有许多分支机构,每个分支机构都有许多地址以及许多联系人:
我正在尝试设计多个数据输入表单以填充三个表格中的信息:
公司,公司分支机构,地址(目前不包括联系人,以减少复杂性)。我有几个表单的级联,通过单击CompID来调用Company Details,通过单击BranchID等来调用Branch Details:
问题是添加或修改记录。当我单击“公司详细信息”表单中的“添加分支”按钮时,“分支详细信息”表单将显示空白字段,我可以在其中输入新分支的名称(此时BranchAddress子表单为空)。但是当我在输入分支名称后关闭表单时出现错误:
You cannot add or change a record because a related record is required in table 'Companies'.
当我想为分支添加额外地址时也是如此。我做错了什么?
P.S。当我删除CompanyBranches和Addresses表之间的关系时,我可以添加没有错误的分支。
P.P.S。我意识到我可能需要在Add Branch按钮上添加一个用于click事件的宏:
答案 0 :(得分:0)
在我看来,您的外键有问题。您可能想要在保存分支时检查,实际上您在分支中添加了公司的ID。当您删除两者之间的关系时,您不会收到错误,因为分支机构不再需要公司的ID(两个项目现在都不相关)。
答案 1 :(得分:0)
在“分支详细信息”表单属性表的“数据”选项卡下,将Data Entry
更改为No
答案 2 :(得分:0)
最后我弄明白我的表格有什么问题。
首先,我必须按照本主题中的建议将CompID添加到Branch Details表单,然后在Company Details表单和Branch Details表单之间建立一个绑定:
在“分支详细信息”表单中,在“数据”选项卡下的“CompID”文本框的属性中,在“默认值”行中,我添加了指向“公司详细信息”表单中的CompID值的链接:= [Forms]![Company Details ]![CompID。现在,这两个表单由CompID值链接,并且在“分支详细信息”表单中输入信息时,此值将从“公司”表中写入CompanyBranches表中的相应记录。
希望我的解释不再比我的问题更令人困惑...... 无论如何,感谢所有参与解决这个问题的人。
P.S。地址详细信息表单也是如此。它必须包含BranchID和Branch Details表单的链接作为BranchID的默认值:= [Forms]![Branch Details]![BranchID]。