使用数据库表时,经常需要从众多的数据中挑选出一部分满足某种条件的数据进行处理。例如,在“教师”表中,不应包含离退休教师,需要从教师表中删除。又如,评奖学金时,需要从“选课成绩”表中找出符合条件的学生。
Access提供了4种筛选记录的方法,分别是按选定内容筛选、按窗体筛选、按筛选目标筛选以及高级筛选。“按选定内容筛选”是一种最简单的筛选方法,使用它可以很容易地找到包含某字段值的记录;“按窗体筛选”是一种快速的筛选方法,使用它不用浏览整个表中的记录,还可以同时对两个以上字段值进行筛选;“按筛选目标筛选”是一种较灵活的方法,根据输入的筛选条件进行筛选;“高级筛选”可进行复杂的筛选,挑选出符合多重条件的记录。
经过筛选后的表,只显示满足条件的记录,而那些不满足条件的记录将被隐藏起来。
1.按选定内容筛选
例2.34 在“学生”表中筛选出来自“湖北武汉”的学生。操作歩骤如下:
(1)用“数据表”视图打开“学生”表,单击“简历”字段列任一行。
(2)执行“编辑”菜单中的“查找”命令,并在“查找内容”框中输入“湖北武汉”,然后单击“查找下一个”按钮。也可以直接在表中“简历”字段列中找到该值并选中。
(3)单击工具栏上的“按选定内容筛选”按钮。
这时,Access将根据所选的内容筛选出相应的记录。使用“按选定内容筛选”,首先要在表中找到一个在筛选产生的记录中必须包含的值。如果这个值不容易找,最好不使用这种方法。
2.按窗体筛选
按窗体筛选记录时,Access将数据表变成一个记录,并且每个字段是一个下拉列表,用户可以从每个下拉列表中选取一个值作为筛选的内容。如果选择两个以上的值,还可以通过窗体底部的“或”标签来确定两个字段值之间的关系。
例2.35 将“学生”表中男生团员筛选出来。操作步骤如下:
(1)用“数据表”视图打开“学生”表。单击工具栏上的“按窗体筛选”按钮,切换到“按窗体筛选”窗口。
(2)单击“性别”字段,并单击右侧向下箭头按钮,从下拉列表中选择“男”,单击“团员否”字段中的复选框。
(3)单击工具栏上的“应用筛选”按钮执行筛选。
3.按筛选目标筛选
“按筛选目标筛选”的方法是在“筛选目标”框中输入筛选条件来査找含有该指定值或表达式值的所有记录。
例2.36 在“选课成绩”表中筛选60分以下的学生。操作步骤如下:
(1)用“数据表”视图打开“学生”表。
(2)将鼠标放在“成绩”字段列的任一位置,然后单击鼠标右键,打开快捷菜单。
(3)在“筛选目录”框中输入“<60”。按Enter键。
这样,便可获所需的记录。
4.高级筛选
前画介绍的3种方法是筛选记录中最容易的方法,筛选的条件单一,操作非常简单。但在实际应用中,常常涉及比较复杂的筛选条件。例如,找出1992年参加工作的男教师。此时使用“筛选”窗口,可以更容易地实现。使用“筛选”窗口不仅可以筛选出满足复杂条件的记录,还可以对筛选的结果进行排序。
例2.37 査找1992年参加工作的男教师,并按“系别”升序徘序。具体操作如下:
(1)打开“教师”表。单击“记录”菜单中的“筛选”命令,然后从其级联菜单中选择“高级筛选/排序”命令,打开“筛选”窗口。
(2)单击设计风格中第1列“字段”行,并单击右侧的向下箭头按钮,从打开的列表中选择“性别”字段,然后用同样的方法在第2列的“字段”行上选择“工作时间”字段,在第3列的“字段”行上选择“系别”字段。
(3)在“性别”的“条件”单元格中输入筛选条件“男”,在“工作时间”的“条件”单元格中输入条件“Between #1992-01-01# And #1992-12-31#”。条件的书写方法,将在后面的章节中详细介绍。
(4)单击“系别”的“排序”单元格,单击右侧向下箭头按钮,从打开的列表中选择“升序”。
(5)单击工具栏上的“应用筛选”按钮 执行筛选。