MS Access:multitable 形式,其中 table 之一被调用两次

MS Access: multitable form where one of the table is called twice

我有以下问题:

我想创建文档的数据库。每个文档都与两个员工相关联(其中一个准备文档,另一个检查并批准它),所以我有两个简单的 tables:文档和员工。文档 table 包含两个字段 link 使用员工 ID 编辑:PreparerID 和 CheckerID。

当我尝试 link 一个关系中的两个 table 时,Access 声明它无法确保参照完整性:

所以我放了另一个相同的实例 table:

现在我想创建一个表单,用户可以在其中为每个文档设置准备者和批准者: 在查询生成器中我看到了这个,所以我必须重复关系生成器中的过程:

最后,在表单上,​​我将员工选择的两个字段都设置为 ComboBox,并将行源设置为 Employee.EmpName。

但是表格没有按预期工作。当我更改某个批准人时,它也会更改他作为准备人的所有文件。所以很明显我试图以错误的方式解决这个问题。 你能帮帮我吗,如何正确地做到这一点?

谢谢!

组合框绑定到错误的字段。选择正在更改 Employees table 记录中 EmpName 的值,而不是保存 Documents table 记录中的值。

不要在 RecordSource 表单中包含 Employees table。只需绑定到文档 table.

设置组合框属性:

ControlSource:文档字段table - PreparerID 或 CheckerID
行来源:SELECT ID, EmpName FROM Employees ORDER BY EmpName;
绑定列:1
列数:2
列宽:0";2"

姓名部分确实应该位于单独的字段中,以便于按姓氏进行搜索和排序:FName、LName。所以组合框 RowSource 可以是:
SELECT ID, LName & ", " & FName AS FullName FROM Employees ORDER BY LName, FName;