【发布时间】:2020-04-11 01:08:07
【问题描述】:
我正在为我大学的一位管理员构建一个 Access 数据库,以跟踪教师信息。有一个部分用于跟踪哪个委员会的教员。这是一种多对多的关系,因为教员可以在多个委员会中任职,而且委员会显然有不止一个教员。这是我与连接表的关系的屏幕截图。我有一个人口统计表(教师),其中有一个委员会表和一个连接表:
我想要的是一个多选列表框,其中包含我可以选择来填充连接表的委员会。如果我将列表框设置为只有一个选择,则此方法有效。如果我将其设置为多项选择,则会收到一条错误消息,提示“您必须在 jctDemographicsCommitteess.committeeID 字段中输入一个值”。
有谁知道如何让它工作?
列表框在一个子窗体中,记录源是连接表。另外,当我设置 ListBox 时,我将“在此字段中存储该值:”设置为 CommitteeID。
如果您需要更多信息,请告诉我!
【问题讨论】:
-
必须是未绑定的listbox,并使用VBA通过循环listbox选中项将一批记录写入表。
-
不清楚;联结表中的每个条目都需要一个教师(或其他)和一个委员会成员。因此,例如,您需要一个用于教师的未绑定复选框或列表框,以及一个用于委员会的未绑定列表框。然后使用 vba 从连接表中输入和删除教师委员会组合。没有输入这两个值是错误的可能原因。
-
你有没有考虑过使用基于联结表的连续子表单,而不是使用列表框?您将在委员会桌子上拥有一个组合框。
-
我已经考虑过 ComboBox 的想法,但是,我需要能够输入多个值,因为教员可以是多个委员会的成员。我还需要一种将他们从委员会中删除的方法,并使用 ListBox,我可以从中选择和取消选择委员会;这似乎是最用户友好的方式。另外,我不确定什么是连续子表单。 ListBox 子窗体嵌入到一个主窗体中,该主窗体用于查看实际的其他数据(姓名、地址等)。我希望 DemographicID 会来自那里,而 CommitteeID 会来自 Listbox。
-
@June7 已经告诉您完成此操作需要做什么。编写代码会很烦人(我讨厌循环 htrpough 列表框),但它会得到你所需要的。