3.3.5 筛选

3.3.5 筛选

筛选就是按照设置的条件从一个或多个数据表中查找满足条件的记录,并以数据表的形式显示。

Access提供了建立四种筛选方法:筛选器筛选、选择筛选(筛选器筛选的简化)、按窗体筛选和高级筛选。

设置“筛选”时,必须先设置字段的筛选条件,条件是针对记录而言的,执行“筛选”后,数据表显示满足条件的记录。

1.“筛选器”筛选

使用“筛选器”筛选,可以是记录中要参加筛选的一个字段数据的全部或一部分,还可以在上次筛选的基础上再次筛选,多筛选的条件为“与”关系。

任务3.24 在“学生表”中,筛选姓“李”的所有学生

操作步骤:

(1)打开“学生表”数据表视图,单击“姓名”字段右侧向下按钮,弹出“姓名”筛选器列表,选择“文本筛选器”,→“开头是”,如图3-73所示,弹出“自定义筛选”对话框,在“姓名开头”文本框中,输入“李”,如图3-74所示。单击“确定”按钮。

图3-73 “姓名”筛选器

图3-74 “自定义筛选”对话框

(2)筛选结果如图3-75所示,已实施筛选的字段,右侧显示“筛选器”标记,表明数据表已对该定做实施了“筛选”操作,单击底部的“已筛选”按钮,可取消“筛选”。

图3-75 筛选结果

提示:“筛选”定义后,可在“筛选”与源数据表视图之间切换,操作方法是:选择“排序和筛选”组→“切换筛选”。

(3)单击“快速访问工具栏”中的“保存”,定义的筛选随表而保存。

提示:“筛选”也只能保存最后定义的“筛选”。

任务3.25 在“学生表”中,筛选1991年出生的女生。

操作步骤:

分析:“1991年出生的女生”包含两个条件,第一个条件“1991年出生”的“出生日期”应在“1991-1-1”与“1991-12-31”期间,第二条件“性别”为“女”,且两个条件为“与”运算,可分两次完成筛选。

(1)打开“学生表”数据表视图,单击“性别”字段右侧向下按钮,弹出“性别”筛选器,取消“全选”,再选中“女”,如图3-76所示。

(2)单击“出生日期”右侧向下按钮,弹出“出生日期”筛选器,选择“文本筛选器”→“期间”,如图3-77所示。弹出“始末日期之间”对话框,在“最旧”文本框中输入“1991-1-1”,在“最新”文本框中输入“1991-12-31”,如图3-78所示。

图3-76 “性别”筛选器

图3-77 “出生日期”筛选器

图3-78 “始未日期之间”对话框

(3)“学生表”的“筛选”后数据表视图如图3-79所示。

图3-79 筛选结果

2.按窗体筛选

“按窗体筛选”是在一张表中,定义筛选条件,同一张表中定义的条件为“与”运算,表与表之间的条件为“或”运算。

任务3.26 在“学生表”中,筛选“10010101”班的男生或者“10010102”班的女生。

操作步骤:

(1)打开“学生表”数据表视图,单击“开始”选项卡→“排序与筛选”组→“高级”向下按钮,在列表框中选择“按窗体筛选”,弹出“学生表:按窗体筛选”对话框,在“性别”列中选择“男”,“班级编号”列中选择“10010101”,如图3-80所示。

图3-80 定义筛选条件

(2)选择“或”页,同理定义另一组筛选条件,如图3-81所示。

图3-81 定义“或”筛选条件

(3)单击“排序和筛选”组→“切换筛选”,“学生表”数据表视图显示满足条件的记录,如图3-82所示。

图3-82 “按窗体筛选”结果

3.高级筛选

“高级筛选”可以定义更复杂的筛选条件,在筛选同时,还可以定义排序,功能强大。

任务3.27 在“学生表”中,筛选1991年以后出生的男生,并按“出生日期”降序排列。

操作步骤:

(1)打开“学生表”数据表视图,单击“开始”选项卡→“排序和筛选”组→“高级”向下按钮,在列表框中选择“高级筛选/排序”,弹出“学生表筛选1”窗口。在字段设计器的第一列,字段选择“性别”,条件框中输入“男”;第二列,字段选择“出生日期”,排序选择“升序”,条件框中输入“>=#1991-1-1#”(日期常量加一对“#”),如图3-83所示。

图3-83 “筛选”窗口

(2)单击“排序和筛选”组→“切换筛选”,“学生表”筛选后的数据表视图如图3-84所示。

图3-84 筛选结果

筛选/排序说明:

(1)“筛选”创建之后,要应用筛选,应用筛选方法是选择“排序和筛选”→“切换筛选”,或“高级”→“应用筛选和排序”。

(2)“筛选”也是一次性的,定义下一次“筛选”替换了之前的“筛选”,表中保存的是最后一次定义的“筛选”,在数据表视图下单击“保存”,筛选随表保存,如果在“筛选”窗口中,单击“保存”,筛选将以“查询”对象保存。

(3)数据表中以不同方式创建的筛选,都可以在“筛选”窗口查看或修改。

(4)以筛选的字段建立索引,可以提高筛选的速度。

(5)筛选与排序关系。实际上排序是筛选的一种特例,是没有设置条件的筛选,筛选是排序的扩展,筛选中可以包含有排序,两者本质相同,随数据表保存的是最后建立的排序或筛选。

(6)筛选/排序只能对单表操作,是一种即时操作工具。