在 Access 桌面数据库中的窗体上输入数据时,从列表中选择值比记住要键入的值更快、更轻松。 选项列表还有助于确保字段中输入的值合适。 列表控件可以连接到现有数据,也可以显示在创建该控件时输入的固定值。 请继续阅读,了解可用于 Access 窗体的列表控件以及如何创建和自定义它们。
您要做什么?
了解列表框控件的类型
Access 为窗体提供两个列表控件:列表框和组合框。
列表框: 列表框控件显示值或选项的列表。 列表框包含数据行,并且通常调整其大小,以便随时显示多个行。 数据行可以有一列或多列,这些列可以显示或不显示标题。 如果列表的行数超过控件所能显示的行数,Access 会显示控件中的滚动条。 用户只能选择列表框中的选项,并且不能在列表框中键入值。
组合框: 组合框控件提供了一种更紧凑的方式来显示选项列表。 在选择下拉箭头之前,该列表处于隐藏状态。 组合框还允许输入不在列表中的值。 这样,组合框控件就合并了文本框和列表框的功能。
- 选择箭头以显示下拉列表。
- 在下拉列表中选择一个选项。
列表框和组合框可以是绑定或未绑定控件。 这些控件可以查阅您自己在固定列表中键入的值,也可以查阅表或查询中的值。 若要创建在表或查询中查找值的绑定列表框或组合框,请确保窗体基于包含外键字段或查阅字段的记录源。 这样就可以创建将列表框或组合框中的数据链接到窗体上的数据所需的关系。
使用向导创建列表框或组合框
在 导航窗格中,右键单击窗体,然后选择“ 设计视图”。
注意
此过程假设窗体已绑定到表或查询。 如果窗体未绑定,则某些步骤不适用。 若要确定窗体是绑定到表还是查询,请按 F4 显示属性表。 在属性表的“数据”选项卡上,“记录源”属性框将显示窗体绑定到的表或查询。
在“ 窗体设计 ”选项卡上的“ 控件 ”组中,确保已选择 “使用控件向导 ”。
选择 “列表框” 工具或 “组合框” 工具。
在窗体上,选择要放置列表框或组合框的位置。
- 根据你的选择, 将启动“列表框向导 ”或“ 组合框向导 ”。
在向导询问希望如何获取控件的值时,请执行下列操作之一:
- 如果要显示记录源中的当前数据,请选择“ 我想要列表框/组合框”来查找表或查询中的值。
- 如果要显示很少更改的固定值列表,请选择“ 我将键入所需的值”。
- 如果希望控件执行查找操作而不是用作数据输入工具,请 根据我在列表框/组合框中选择的值在窗体上查找记录。 这将创建一个未绑定的控件,其中包含一个嵌入式宏,该宏根据用户输入的值执行查找操作。
按照说明指定值显示方式。
如果在向导的第一页上选择了前两个选项之一,则当您选择一个值时向导会询问您希望 Access 执行何种操作。 请执行下列操作之一:
- 若要创建未绑定的控件,请选择“ 记住该值以供以后使用”。 这意味着 Access 将保留所选值,直到用户更改它或关闭窗体,但它不会将该值写入表。
- 若要创建绑定控件,请选择“ 将该值存储在此字段中”,然后选择要将控件绑定到的字段。
选择“ 下一步”,然后键入控件的标签。 此标签显示在控件旁边。
选择“完成”。
通过向窗体添加查阅字段来创建列表框或组合框
您可以通过向窗体添加查阅字段来创建绑定列表框或组合框。
在表中创建查阅字段。 创建的查阅字段可以是多值,也可以包含单个值。 有关创建多值查阅字段的详细信息,请参阅 创建或删除多值字段。
执行下列操作之一:
创建一个基于包括查阅字段的记录源的新窗体。 例如,在 导航窗格中,选择包含“查阅”字段的表或查询,然后在“ 创建 ”选项卡上的“ 窗体 ”组中,选择“ 窗体”。 Access 会自动为查阅字段创建组合框。
向窗体添加列表框或组合框:
在设计视图中,打开一个基于包括查阅字段的记录源的窗体。
如果未显示 “字段列表 ”窗格,请按 Alt+F8 显示它。
双击查阅字段,或者将查阅字段从“字段列表”窗格拖动到窗体上。 Access 会自动创建绑定到该字段的组合框。
提示
若要将组合框更改为列表框,或者相反,请右键单击控件,在快捷菜单上选择“ 更改为 ”,然后选择所需的控件类型。
不使用向导创建列表框或组合框
在不使用向导的情况下创建列表框或组合框时,可以自行设置控件的许多属性。 如果需要有关特定属性的详细信息,请选择相应的属性框,然后按 F1。
在设计视图中打开窗体。
在“ 窗体设计 ”选项卡上的“ 控件 ”组中,确保未选择 “使用控件向导 ”。
选择 “列表框” 工具或 “组合框” 工具。
在窗体内选择一次以创建默认大小的控件,或选择并拖动,直到控件为所需大小。
在控件仍处于选中状态的情况下,按 F4 打开其属性表。
使用下表作为指导设置行源类型和行源属性。
执行此操作 将 “行源类型” 属性设置为 按如下所示设置 行源 属性 显示表或查询中的值,或语句的结果 SQL表/查询 在下拉列表中,选择包含要显示在列表框或组合框中的值的表或查询。 或键入 SQL语句。 或者,在属性表的“ 数据 ”选项卡上,选择“ 生成 ”按钮以打开查询生成器。 有关生成查询的详细信息,请参阅 创建简单的选择查询。显示固定的值列表 值列表 键入用分号 ( ;) 分隔的固定值的列表。 例如,North;South;East;West。 或者,在属性表的“ 数据 ”选项卡上,选择“ 生成 ”按钮以打开“ 编辑列表项 ”对话框,然后在单独的行上键入项。显示表或查询中的字段列表 字段列表 在下拉列表中,选择包含要显示在列表框或组合框中的字段名称的表或查询。 如果希望控件中显示多个列,请选择“ 列计数 ”属性框并键入所需的列数。 设置“列宽”属性以调整列的宽度。 有关每个属性的详细信息,请将光标置于属性框中,然后按 F1。
如果希望 Access 存储所选值,请选择“ 控制源 ”属性框,然后选择要将列表框或组合框绑定到的字段。
自定义列表框或组合框
在“设计”视图中打开窗体时,请确保选中列表框或组合框,然后按 F4 打开控件的属性表。 然后执行下列操作之一:
更改列表框或组合框中的排序顺序: 如果使用向导创建列表框或组合框,Access 会自动按第一个可见列对构成列表的行进行排序。 如果要指定其他排序次序,或者如果已将控件的行来源属性设置为保存的查询,请使用以下步骤:
- 选择“ 数据 ”选项卡,然后选择“ 行源 ”属性框。
- 在属性表的“ 数据 ”选项卡上,选择“ 生成 ”按钮以打开查询生成器。
- 在要 排序 的列的“排序”行中,指定所需的排序顺序。
从列表框或组合框绑定列: 在列表框或组合框的“ 绑定列 ”属性框中,指定与列在列表框或组合框中的位置相对应的数字。 例如,键入
1将列表框或组合框中的第一列绑定到 Control Source 属性中指定的基础字段。 在计算列数时,包括隐藏的列。 如果将“ 绑定列” 属性设置为0,Access 将保存列表索引,而不是其中一列的值。 如果要存储数字序列而不是列表值,则此设置非常有用。隐藏窗体上的列表框或组合框中的列:
在 “列宽度 ”属性框中,
0键入要隐藏的一个或多个列。 例如,假设你有一个绑定的两列组合框,该组合框具有 0.5 英寸宽的 SupplierID 列和 2 英寸宽的 SupplierName 列。 SupplierID 列是列表中的第一列,因此“ 列宽度” 属性设置为0.5";2"。 若要隐藏 SupplierID 列,请将 “列宽度” 属性设置为0";2"。 即使已隐藏,SupplierID 列仍然可以是绑定列。注意
在组合框中,当列表未显示时,第一个可见的列显示在组合框的文本框部分中。 例如,由于上一个示例中隐藏了“供应商 ID”列,因此将显示“供应商名称”列。 如果未隐藏“SupplierID”列,则会显示它,而不是“SupplierName”列。
将列标题添加到窗体上的组合框中:
- 在“ 列标题 ”属性框中,选择“ 是 ”以显示列标题。 仅当列表打开时,组合框中的标题才会显示。 如果组合框或列表框是基于记录源的,则 Access 将使用记录源中的字段名称作为列标题。 如果组合框或列表框基于固定值列表,Access 将使用值列表中的前 n 个 项 (行源 属性) 作为列标题,其中 n = 列计数 属性中设置的数字。
关闭窗体上组合框的“即用即键入”功能:
- 在 “自动展开 ”属性框中,选择“ 否”。 当“自动展开”属性设置为“否”时,您必须从列表中选择一个值或键入整个值。
设置窗体上组合框的列表框部分的宽度:
- 在“列表宽度”属性框中,使用 Windows 控制面板中设置的当前度量单位输入所需的宽度。 若要使用非默认值的度量单位,请包括一个度量指示器。 例如,输入
2 cm。 请确保为滚动条留出足够的空间。 组合框的列表框部分可以比文本框部分更宽,但不能更窄。 默认设置(“自动”)使列表框宽度与组合框的文本框部分的宽度相同。
- 在“列表宽度”属性框中,使用 Windows 控制面板中设置的当前度量单位输入所需的宽度。 若要使用非默认值的度量单位,请包括一个度量指示器。 例如,输入
设置窗体上的组合框中显示的最大行数:
- 在“列表行数”属性框中,输入一个数字。 如果实际行数超过“列表行数”属性中指定的数量,则会在组合框中显示一个垂直滚动条。
将组合框条目限制为窗体上组合框的列表部分中的项:
在 “限制列表” 属性框中,选择“ 是”。
注意
- 如果组合框中显示的第一列不是绑定列,即使“ 限制 列表”属性设置为 “否”,Access 也会限制列表的条目。
- 在“限于列表”属性设置为“否”的情况下,当输入不在列表中的条目时,如果组合框已绑定,则该条目将存储在基础字段中而不会添加到列表中。 若要向列表中添加新条目,请使用“不在列表中”属性和“不在列表中”事件。