如何实现multi-select?
How to implement multi-select?
首先,我需要说明的是,我以前从未使用过 Access 或任何其他数据库。我试图了解它是如何工作的,并为此任务选择了 "Students" 模板(参见步骤 0)。现在,让我们开始吧。
我。从模板创建基础并用数据填充它
步骤 0。基于 "Students" 模板创建新数据库:
步骤 1。在对象窗格(即左侧边栏)上搜索 Student List 表单并双击它:
为第一个学生填写 名字 和 姓氏:这将是 Mike Smith。
在特殊情况栏中可以select多种情况:例如,情况 1 和 情况 2。如果您单击组合框下方的图标,则可以编辑可用复选框列表:
步骤 2。在我们为第一个学生创建条目后,双击 监护人列表 表单并为 3 个监护人创建条目:Jane Roe、John Doe 和 Jill Joe。
步骤 3。 Return 到 学生列表 表格。单击 Mike Smith 前面的 Open 单元格。将为该学生打开 学生详细信息 表格。打开后,单击 Guardian Information 选项卡 - 您将看到所有 3 个监护人都可用于组合框:
二。现在,我的任务
我想直接在学生名单表格中查看监护人 - 与特殊情况的方式相同.
我想为每个学生选择 select 多个监护人 - 与 特殊情况 复选框的实施方式相同。
三。自己是怎么解决的,只是任务的第1点
为了简化任务,我将使用 Student ID 列(位于 Student List 表单中),而不是创建新列.
在左侧边栏 - 用鼠标右键单击 学生列表 表单,然后单击 select 设计视图 。当设计视图打开时,select学号字段,右击它,然后点击更改为 和 组合框:
然后,在右侧边栏 select Data 选项卡上,在 Row Source 字段中设置 curson,然后单击小省略号(...)。在显示TablewindowselectGuardians然后点击添加 按钮并关闭这个小 window.
然后,在大 window 中,执行此操作:
然后单击功能区上的另存为和关闭。
然后,将 Student List 表单切换回 Layout 视图 (同样的方式,我们早先将其切换为 设计视图)。你会看到我的任务的第一点已经解决了:学生 ID 列中可以找到监护人的姓氏:
但是如何实现 multiselect,就像在 特殊情况 栏中实现的一样?所以,Mike 可以同时拥有 Jane Roe 和 John Doe 作为他的监护人。
Multi-valued 组合框是非常奇怪的控件。尽可能避免使用它们。
无法创建未绑定的 multi-valued 组合框(请参阅 How can I create a Multiple Value Combo box on an Unbound Form)。当组合框绑定到的字段为 multi-valued 或设置为 multi-valued 查找时,组合框为 multi-valued。
要将字段更改为 multi-valued 字段,您需要更改 table 设计,并设置 允许多个值 属性 到 是:
这会自动将绑定到该字段的任何组合框更改为 multi-valued 个组合框。
请注意,我强烈建议不要使用这种方法。此数据库已经演示了联结 table,这是管理 many-to-many 关系的推荐方法。如果不使用非常骇人听闻的技术,就不可能使用联结 tables 和 multi-valued 组合框。
首先,我需要说明的是,我以前从未使用过 Access 或任何其他数据库。我试图了解它是如何工作的,并为此任务选择了 "Students" 模板(参见步骤 0)。现在,让我们开始吧。
我。从模板创建基础并用数据填充它
步骤 0。基于 "Students" 模板创建新数据库:
步骤 1。在对象窗格(即左侧边栏)上搜索 Student List 表单并双击它:
为第一个学生填写 名字 和 姓氏:这将是 Mike Smith。
在特殊情况栏中可以select多种情况:例如,情况 1 和 情况 2。如果您单击组合框下方的图标,则可以编辑可用复选框列表:
步骤 2。在我们为第一个学生创建条目后,双击 监护人列表 表单并为 3 个监护人创建条目:Jane Roe、John Doe 和 Jill Joe。
步骤 3。 Return 到 学生列表 表格。单击 Mike Smith 前面的 Open 单元格。将为该学生打开 学生详细信息 表格。打开后,单击 Guardian Information 选项卡 - 您将看到所有 3 个监护人都可用于组合框:
二。现在,我的任务
我想直接在学生名单表格中查看监护人 - 与特殊情况的方式相同.
我想为每个学生选择 select 多个监护人 - 与 特殊情况 复选框的实施方式相同。
三。自己是怎么解决的,只是任务的第1点
为了简化任务,我将使用 Student ID 列(位于 Student List 表单中),而不是创建新列.
在左侧边栏 - 用鼠标右键单击 学生列表 表单,然后单击 select 设计视图 。当设计视图打开时,select学号字段,右击它,然后点击更改为 和 组合框:
然后,在右侧边栏 select Data 选项卡上,在 Row Source 字段中设置 curson,然后单击小省略号(...)。在显示TablewindowselectGuardians然后点击添加 按钮并关闭这个小 window.
然后,在大 window 中,执行此操作:
然后单击功能区上的另存为和关闭。
然后,将 Student List 表单切换回 Layout 视图 (同样的方式,我们早先将其切换为 设计视图)。你会看到我的任务的第一点已经解决了:学生 ID 列中可以找到监护人的姓氏:
但是如何实现 multiselect,就像在 特殊情况 栏中实现的一样?所以,Mike 可以同时拥有 Jane Roe 和 John Doe 作为他的监护人。
Multi-valued 组合框是非常奇怪的控件。尽可能避免使用它们。
无法创建未绑定的 multi-valued 组合框(请参阅 How can I create a Multiple Value Combo box on an Unbound Form)。当组合框绑定到的字段为 multi-valued 或设置为 multi-valued 查找时,组合框为 multi-valued。
要将字段更改为 multi-valued 字段,您需要更改 table 设计,并设置 允许多个值 属性 到 是:
这会自动将绑定到该字段的任何组合框更改为 multi-valued 个组合框。
请注意,我强烈建议不要使用这种方法。此数据库已经演示了联结 table,这是管理 many-to-many 关系的推荐方法。如果不使用非常骇人听闻的技术,就不可能使用联结 tables 和 multi-valued 组合框。