
3.3.5 排序
排序是根据当前数据表中的一个或多个字段的值,对整个数据表的全部记录重新排列顺序。可以按升序(从小到大)或降序(从大到小)对所有记录进行排列,排序结果可与表一起保存。
1.简单排序操作
操作步骤如下。
(1)打开“教务管理系统”数据库,在导航窗格中打开要排序的表(如“教师”表)的“数据表视图”。
(2)单击排序字段所在列的任意一个数据单元格,如“工号”。
(3)单击“开始”选项卡中“排序和筛选”组的“升序”按钮(按升序排列)或“降序”按钮(
按降序排列),显示排序结果,如图3-44所示。

图3-44 按“工号”排序
还可以直接单击排序字段右侧的下拉按钮,在弹出的下拉列表中选择“升序”选项或“降序”选项,如图3-45所示。

图3-45 利用在下拉列表中的选项排序
也可以右击排序字段,在弹出的快捷菜单中选择“升序”命令或“降序”命令,如图3-46所示。

图3-46 利用快捷菜单排序
如果要对相邻的多个字段进行简单排序,则选定这些字段(如“姓名”+“性别”)后,单击“开始”选项卡中“排序和筛选”组的“升序”按钮或“降序”按钮,显示排序结果,如图3-47所示。

图3-47 对相邻多个字段进行简单排序
当关闭该表的“数据表视图”时,可选择是否将排序结果与表一起保存,如图3-48所示。

图3-48 选择是否将排序结果与表一起保存
2.复杂排序
如果要对多个字段进行复杂排序,则要使用Access 2016中的“高级筛选/排序”命令。
例3.6 在“教务管理系统”数据库中,将“学生”表按“性别”升序和“入学总分”降序进行排列。
操作步骤如下。
(1)打开“教务管理系统”数据库,打开“学生”表的“数据表视图”。
(2)在“开始”选项卡的“排序和筛选”组中,单击“高级”下拉按钮,在弹出的下拉列表中选择“高级筛选/排序”命令,如图3-49所示。

图3-49 选择“高级筛选/排序”命令
这时打开一个排序筛选设计窗口,窗口上方显示了“学生”表的字段列表,下方是设置排序、筛选条件的设计网格,如图3-50所示。
(3)在设计网格中,在“字段”行第1列的单元格中选择“性别”作为第1排序字段,在“排序”行第1列的单元格中选择“升序”;在“字段”行第2列的单元格中选择“入学总分”作为第2排序字段,在“排序”行第2列的单元格中选择“降序”,如图3-51所示。

图3-50 排序筛选设计窗口

图3-51 设置排序条件
(4)单击“开始”选项卡中“排序和筛选”组的“切换筛选”按钮;或者单击“高级”下拉按钮,在弹出的下拉列表中选择“应用筛选/排序”命令,排序结果如图3-52所示

图3-52 多个字段复杂排序结果
(5)当关闭该表的“数据表视图”时,可选择是否将排序结果与表一起保存。
用户还可以从数据表视图中删除排列次序。删除排列次序的操作非常简单,只要在打开数据表视图时,单击“开始”选项卡中“排序和筛选”组的“取消排序”按钮即可。
3.排序规则
对于不同数据类型的字段,排序规则如下。
(1)英文的文本按字符的ASCII码值的顺序排列,升序按ASCII码值从小到大排序,降序按ASCII码值从大到小排序。对于英文字母,升序按从A到Z排序,降序按从Z到A排序。
(2)中文的文本按拼音字母的顺序排列,升序按从A到Z排序,降序按从Z到A排序。
(3)数字按数字的大小顺序排列,升序按从小到大排序,降序按从大到小排序。
(4)对于日期和时间类型的字段,按日期的先后顺序排列,升序按从前到后排序,降序按从后到前排序。
注意:
(1)在“文本”字段中保存的数字将作为字符串而不是数值,对它排序是按数字字符文本的ASCII码值的顺序排列的,不是按数值大小顺序排列的。
(2)在以升序排列字段时,任何含有空字段(包含 Null 值)的记录将排在列表中的第 1条。如果字段中同时包含Null值和空字符串,则包含Null值的字段将显示在第1条记录中,紧接着是空字符串。
(3)不能对数据类型为OLE对象的字段进行排序。