对列表框、组合框和下拉列表框进行自定义
1. 在窗体或数据访问页的“设计”视图 中,确保已选中列表框 (列表框:提供一列选项的控件。列表框由一个列表和一个可选标签组成。)、组合框 (组合框:窗体上用来提供列表框和文本框的组合功能的一种控件。用户既可以键入一个值,也可以单击控件以显示一个列表,并从该列表中选择一项。)或下拉列表框 (下拉列表框:数据访问页上的一种控件,单击时显示可供选择的值列表。不能在下拉列表框中键入值。),然后单击工具栏上的“属性” 以打开该控件 (控件:允许用户控制程序的图形用户界面对象,如文本框、复选框、滚动条或命令按钮等。可使用控件显示数据或选项、执行操作或使用户界面更易阅读。)的属性表。
2. 执行下列操作之一:
更改列表框、组合框或下拉列表框中的排序次序
如果使用向导创建列表框、下拉列表框或组合框,Microsoft Access 将自动按照第一个可见列对构成列表的行进行排序。如果想指定另外一种排序次序,或者如果已将该控件的“行来源”属性设为已保存的查询,则可以使用下列两个过程中的一个。
注释 在独立的数据访问页或在与当前未打开的数据库连接的数据访问页中,“向导”是不可用的。这种情况下,必须自行创建列表框或下拉列表框。
o 若要更改窗体上控件的排序次序,请单击“数据”选项卡,在“行来源”属性框旁边单击“生成”按钮 ,打开“查询生成器”或“SQL 语句生成器”,并指定所需的排序次序。
o 若要更改数据访问页上控件的排序次序,可按所需的排序次序创建查询,然后在数据访问页的 ListRowSource 属性框中,从列表中选择查询。
绑定列表框、组合框或下拉列表框中的列
o 在窗体中 在列表框或组合框的“绑定列”属性框中,指定一个对应于列表框或组合框中列所在位置的数字。例如,键入 1 可将列表框或组合框中的第一列绑定到“控件来源”属性中指定的基础字段上。在计数列数时请包含隐藏的列。
如果将“绑定列”属性设为 0,则 Mcrosoft Access 保存列表索引 (列表索引:列表中项目编号的顺序,第一项从 0 算起,第二项为 1,依此类推。),而不保存其中一个列的值。这在保存一系列数字而不是列表值的时候是很有用的。
o 在数据访问页中 在列表框或下拉列表框的 ListBoundField 属性框中,输入与列表框或下拉列表框中列所在的位置对应的字段的名称。
将 SQL 语句用作窗体上列表框或组合框的行来源
可能需要用 SQL 语句 (SQL 字符串/语句:用于定义 SQL 命令(如 SELECT、UPDATE 或 DELETE)的表达式,可以包含子句(如 WHERE 和 ORDER BY)。SQL 字符串/语句通常用在查询和聚合函数中。)(而不是已保存的查询)作为窗体上列表框或组合框的行来源,这样就不会在“数据库”窗口 (“数据库”窗口:在打开 Access 数据库或 Access 项目时出现的窗口。它显示用于新建数据库对象和打开现有对象的快捷方式。)中显示查询。但是,基于 SQL 语句的列表框和组合框会比基于已保存查询的列表框和组合框速度更慢。
o 单击“行来源”属性旁的“生成”按钮 ,打开“查询生成器”。
o 在“查询生成器”中,单击“视图”菜单上的“SQL 视图”。
o 在“SQL 语句”窗口中,选定整个 SQL 语句,按 Ctrl+C 进行复制,然后关闭“查询生成器”。
o 单击“行来源”属性框,按 Ctrl+V 将 SQL 语句粘贴到属性框中。
o 删除“数据库”窗口中原来的查询。
隐藏窗体上列表框或组合框中的列
o 在“列宽”属性框中,为要隐藏的列(一列或多列)输入 0。
例如,假定一个两列绑定组合框包含“供应商ID”列和“供应商名称”列,且“供应商ID”是列表中的第一列。若要隐藏“供应商ID”,则可按下列图例设置“列宽”属性。
将“供应商 ID”列(第一列)设为 0 以隐藏它。
为“供应商名称”列指定宽度。
“供应商 ID”列是绑定列,即使隐藏起来也是如此。
注释 在组合框中,当列表未显示时,第一个可见的列将显示在组合框的文本框部分。例如,在前一个示例中,因为“供应商 ID”列隐藏,因此将显示“供应商名称”列。如果“供应商 ID”列没有隐藏,则它是唯一显示的列。
为窗体上的组合框添加列标题
o 在“列标题”属性框中,单击“是”以显示列标题。 只有当列表打开时,才会显示组合框中的列标题。
如果组合框或列表框是基于记录源 (记录源:窗体、报表或数据访问页的基础数据源。在 Access 数据库中,它可以是表、查询,也可以是 SQL 语句。在 Access 项目中,它可以是表、视图、SQL 语句,也可以是存储过程。)的,则 Microsoft Access 使用记录源的字段名称作为列标题。如果组合框或列表框是基于固定值列表的,则 Microsoft Access 使用值列表的前 x 项数据(“行来源”属性)作为列标题,其中,x 等于“列数”属性中设置的数字。
关闭窗体上组合框的“所键即所填”功能
o 在“自动展开”属性框中单击“否”。
当“自动展开”属性设为“否”时,必须从列表中选择一个值或键入完整的值。
设置窗体上组合框的列表框部分的宽度
o 在“列宽”属性框中,用当前的度量单位(在 Windows“控制面板”中设置)输入需要的宽度。若要使用非默认的度量单位,请在数字后加上度量单位,例如,输入“2 厘米”。请确保为滚动条留出足够的空间。
组合框的列表框部分可以比文本框部分宽,但不能比它窄。默认设置(“自动”)使列表框与组合框的文本框部分宽度相同。
设置窗体上组合框中可显示的最大行数
o 在“列数”属性框中输入数字。
如果实际的行数超过“列数”属性中指定的数字,则在组合框中将显示垂直滚动条。
将组合框输入项限制在窗体上组合框的列表部分的项目内
o 在“限于列表”属性框中单击“是”。
注意
如果显示在组合框中的第一列不是绑定 (绑定控件:在窗体、报表或数据访问页上使用的控件,用来显示和修改来自表、查询或 SQL 语句的数据。控件的控件来源属性存储了控件绑定到的字段的名称。)列,即使“限于列表”属性设为“否”,Microsoft Access 仍会限制条目数不超过列表的项数。
如果“限于列表”属性设为“否”textbox控件边框设置,则当输入项不在列表内时,如果组合框是绑定的,则输入项会存储在基础字段中,而不会添加到列表中。若要向列表中添加新的输入项,请使用“不在列表中”属性和 NotInList 事件。
于创建用于查阅数值的列表框、组合框或下拉列表框
若要创建用于查阅数值的列表框、下拉列表框 或组合框,需确定以下两点:
∙ 列表中的行来自哪里?
∙ 用户在列表框、下拉列表框或组合框中选择选项时,Microsoft Access 将如何处理这个值?
对于列表框、下拉列表框或组合框,其中的行可以是在创建列表框、下拉列表框或组合框时就输入的固定的值列表(用于列表内容不常更改时),也可以来自记录源 (用于经常更新列表时)。例如,对某个列表框可以使用一个固定列表,其中包含的项有“先生”、“小”或“夫人”。另一方面,如果有一个“产品”窗体并且要在列表框中显示一个产品供应商的列表,但该列表根据列表框所基于的记录源而经常变动,则该列表框应查阅“供应商”表中的值,并显示最新的可供选择供应商列表。
输入产品。
从列表中选取供应商。
当用户从列表框、下拉列表框或组合框中选择值时,Microsoft Access 可以完成下列两件事情之一:Access 可以在某个表(此表与列表的源表是不相同的)中存储已选择的值;Access 也可以将数值传给另一个控件 。例如,对于前面图例中的“供应商”列表框,如果用户选择了“康富食品”,Access 将在“供应商”表中查阅“康富食品”的主键 (主键:具有唯一
标识表中每条记录的值的一个或多个域(列)。主键不允许为 Null,并且必须始终具有唯一索引。主键用来将表与其他表中的外键相关联。)值(供应商ID),并且将“产品”表中当前记录的“供应商ID”字段(外键 (外键:引用其他表中的主键字段(一个或多个)的一个或多个表字段(列)。外键用于表明表之间的关系。))设为同样的值。该值就是存储的值。由于 Access 根据列表框中的选定内容来存储值,因此列表框是绑定 的。(注意:“供应商”表中的“供应商名称”的值将在列表框中显示但不存储)。
另一方面,如果希望 Access 用列表框、下拉列表框或组合框中选择的值来决定其他控件(一个或多个)的内容,则可以创建一个未绑定 (未绑定控件:未与基础表、查询中的字段或 SQL 语句连接的控件。未绑定控件通常用于显示信息性文本或装饰性图片。)列表框、下拉列表框或组合框。例如,可以创建一个用来查数据访问页 (数据访问页:Access 发布的网页,包含与数据库的连接。在数据访问页中,可查看、添加到、编辑以及操作数据库中存储的数据。这种页也可以包含来自其他源(如 Excel)的数据。)上相关记录的列表框或组合框。也可以创建一个用来筛选窗体上另一列表框或组合框中记录的列表框或组合框。
应创建列表框、组合框还是下拉列表框?
若要决定是创建列表框、组合框还是下拉列表框,必须考虑在什么地方使用控件 、控件在窗体或数据访问页上如何显示,以及希望用户如何使用。每种控件都有自己的优点:
列表框的优点 在窗体和数据访问页上都可以使用列表框。列表随时可见,并且控件的值只限于列表中的可选项。若要快速地移到以特殊字母开头的第一个值,可以直接键入该字母。在用窗体输入或编辑数据时,不能添加列表中没有的值。
组合框的优点 组合框可用在窗体上。由于这种列表只有在打开时才显示内容,因此该控件在窗体上占用的地方较小。若要在组合框中快速地到某个值,可以键入该值的前几个字母。同时,也可以控制是可以在列表中输入任何值,还是只能输入在列表中有匹配项的值。
下拉列表框的优点 下拉列表框可用在数据访问页上。因为这种列表只在打开时才显示内容,所以该控件在数据访问页上占用的地方较小。控件的值只限于列表中的可选项。若要快速地移到以特殊字母开头的第一个值,可以直接键入该字母。
应使用表、查询、SQL 语句还是函数来提供值?
列表框、组合框或下拉列表框的行来源提供了要显示的值。大多数情况下,当利用向导创建列表框、下拉列表框或组合框时,可以将表用作行来源。在下列情况下应使用查询 (查询:有关表中所存数据的问题,或要对数据执行操作的请求。查询可以将多个表中的数据放在一起,以作为窗体、报表或数据访问页的数据源。):
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论