关于数据库设计:使用具有多个值的查找字段访问2013

Access 2013 using a lookup field with multiple values

我正在使用一个包含一个Staff表和一个Groups表的数据库,我想要做的是使每个职员可以是多个组的成员,并且每个组可以包含多个职员, -很多关系。我还有一个连接两者的联接表(下面是我的表结构)。"职员"表和"组"表都与"职员组"表具有一对多关系。

员工桌

1
2
3
Staff ID
First Name
Last Name

组表

1
2
Group ID
Group Name

小组职员表

1
2
3
Group Staff ID - PK
Group ID - FK
Staff ID - FK

我想做的是在"组"表中,我有一个名为"成员"的字段,其中应包含该组成员的所有人员(从人员表中查找)。我正在使用查找字段来显示所有Staff成员。问题是我无法为每个组选择多个人员。

如果我尝试将查找字段更改为"允许多个值",则表明我不能,因为Staff和Group表之间存在关系,但是我当然需要该关系才能查找工作人员。

那么我该如何做到这一点,以便可以在"组"表中有一个查找字段,该字段允许我从"人员表"中选择多个"人员"?任何帮助表示赞赏。


您无法按照描述的方式进行操作。

对于GroupStaff表,如果要建立多对多关系,则必须(如您所说)必须有一个联接表(GroupStaff)。但是,您不能真正在GroupStaff表上创建关系。

您必须在GroupStaff表中创建新行。您可以一次在一行上手动执行此操作,例如,如果要创建一个应用程序,通常会有一个包含两个子表单的表单。在这种情况下,父窗体将绑定到Group,子窗体将分别绑定到StaffGroupStaff。然后,您可以添加控件(按钮)以根据Group表单和Staff子表单中选择的记录将记录添加到GroupStaff表中。

GroupStaff子窗体也将被过滤,以仅显示与当前来自父级的组相关的记录。