有时,你可能希望仅根据日期值的月份部分对 Access 中的记录进行排序,并忽略日期和年份。 或者,你可能只想根据文本字段的前几个字符对记录进行排序。 本主题介绍如何通过创建简单表达式来执行这些搜索。
您要做什么?
按部分日期值排序
使用排序命令之一对记录进行 排序 时,整个日期值(天、月和年)用于确定每个记录的位置。 但假设你只想根据生日发生的月份对生日进行排序,并忽略值的日期和年份部分。
仅对部分日期值进行排序需要编写表达式。 您可以对表中的数据或查询结果进行排序,但必须首先位于数据表视图中。 在 “筛选器 ”选项卡的查询区域中编写表达式。 创建的表达式仅提取所需的数据,然后将其用作排序的基础。
显示“筛选器”选项卡
-
将表或查询切换到“数据表”视图。
如果使用的是查询,请运行查询以在数据表视图中显示结果。
-
在“ 开始 ”选项卡上的“ 排序 & 筛选器 ”组中,单击“ 高级 ”,然后单击快捷菜单上的“ 高级筛选/排序 ”。
Access 显示名称中带有“筛选器”的新对象选项卡。
Create表达式
-
在“ 开始 ”选项卡上的“ 排序 & 筛选器 ”组中,单击“ 高级 ”,然后单击快捷菜单上的“ 高级筛选/排序 ”。
-
在第一列中的 “字段” 行中键入表达式。 例如,若要按月份排序而不考虑年份,请在第一列中的“字段”行中键入表达式 Expr1: DatePart (“m”,[BirthDate]) 。
-
若要按每月的天数对记录进行排序,请在第二列中的“字段”行中键入 Expr2: DatePart (“d”,[BirthDate]) 。
第一列中的 DatePart 函数按月对记录进行排序,第二列中的 DatePart 函数按月内的天数对记录进行排序。
-
在 “排序” 行中,为每个表达式选择“ 升序 ”或“ 降序 ”。
第一列中的升序排序在顶部显示 1 月,在底部显示 12 月。 第二列中的升序排序在顶部显示 1,底部显示 31。 降序排序顺序正好相反。
-
在“ 开始 ”选项卡上的“ 排序 & 筛选器 ”组中,单击“ 切换筛选器”。
按部分文本值排序
对部分文本值进行排序与对部分日期值排序非常相似。 需要在“高级筛选/排序”窗口中编写表达式,以提取构成排序基础的字符。
假设“城市”字段包含北 西雅图、 南西雅图、 北塔科马或 南塔科马等值。 假设你想要忽略第一个单词,并单独对第二个单词上的记录进行排序。
-
在“ 开始 ”选项卡上的“ 排序 & 筛选器 ”组中,单击“ 高级 ”,然后单击快捷菜单上的“ 高级筛选/排序 ”。
-
在第一列中的 “字段” 行中键入表达式。 例如,键入 =Mid ([City], 7) 忽略 City 字段中的前六个字符。
Mid 函数返回包含在指定字符串或字段中的子字符串。 在这种情况下,对于每个记录,函数返回从第七个字符 (即 City 字段中的空格) 之后开始的值。
-
在 “排序” 单元格中,选择“ 升序 ”或“ 降序”。
-
在“ 开始 ”选项卡上的“ 排序 & 筛选器 ”组中,单击“ 切换筛选器”。