注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。
对数据进行排序可以在使报表或窗体有效且易于使用方面发挥重要作用。 例如, 按字母顺序或基于单价列出产品的产品目录比以随机顺序列出项目的方式更易于使用。
本主题介绍了如何在查看和设计表、查询、窗体或报表时对记录进行排序。
本文内容
简介
您可以对一个或多个字段的表、查询、窗体或报表中的记录进行排序。 使用最简单的设计工作, 您和您的窗体或报表的用户可以选择记录的排序方式。
例如, 在设计产品目录报表时, 您可以选择按字母顺序列出产品。 设计对象时选择的顺序将变为对象的默认排序顺序。 但当查看查询或报表时, 您的每个用户都可以按所需方式对记录进行排序, 例如按价格或按供应商。
注意: 可以对视图中显示的任何字段 (包含附件或 OLE 对象的字段除外) 对视图进行排序。
您可以通过对多个字段的记录进行排序来调整结果。 对多个字段进行排序时, 请务必确定所谓的最外层和最内层的排序字段。 将相应的字段指定为内部和外部排序字段是获取所需结果的必要条件。 例如, 假设您想要对 "名字" 和 "姓氏" 字段中的 "联系人" 表进行排序。 如果您希望在每个姓氏中将名字从 A 到 Z (或 z 到 A) 排序, 则 "名字" 是最内层的字段。 另一方面, 如果你希望在每个名字中对姓进行排序, 则 LastName 是最内层的字段。 换句话说, 记录排在 "姓氏" 字段上 (最外面), 然后是 "名字" 字段中的 "下一次" (最内层)。
1. LastName 是最外层字段, 名字是最内层域
2. "名字" 是最外层的字段, 姓氏是最内层域
在应用排序顺序时需要记住的一点是, 数字、文本和特殊字符根据您的计算机所选的语言和区域设置进行排序。 如果在 " Access 选项" 对话框中指定的语言和区域设置与 "控制面板" 中指定的不匹配, 则生成的排序顺序可能与预期不符。
查看或更改默认语言或区域
若要查看 Access 中的语言设置, 请单击 "文件>选项"。 在 "创建数据库" 下的 "常规" 选项卡上, 查看或更改 "新建数据库排序次序" 列表框中的值。 如果要使用其中一种语言, 请将此选项设置为 "常规", 例如, 南非荷兰语、阿尔巴尼亚语、荷兰语、英语、波斯语、希伯来语、德语、德语、日语、希腊语、希伯来语、印地语、印度尼西亚语、意大利语、意大利语、马来语、葡萄牙语、俄语、塞尔维亚语、斯瓦希里语和乌尔都语。 请注意, 此设置仅影响新数据库。 若要将此设置应用于现有数据库, 请首先压缩数据库。
若要压缩数据库, 请执行以下操作:
-
单击 "数据库工具" > "压缩和修复数据库"。
若要查看您的计算机的区域设置, 请参阅更改 Windows 区域设置以修改某些数据类型的外观。
对视图中的记录进行排序
注意: 在 Access 中, 对报表进行排序与对表、查询或窗体排序稍有不同。
对报表进行排序
-
在 "布局" 视图或 "设计" 视图中打开报表。
-
如果 "分组、排序和汇总" 窗格未打开, 请在 "分组 & 汇总" 组 (在 "布局" 视图中的 "格式" 选项卡上, 或在 "设计" 视图中的 "设计" 选项卡上) 单击 "分组 & 排序"。
-
执行下列操作之一:
-
如果报表既未进行分组也未排序, 请在 "分组、排序和汇总" 窗格中单击 "添加组", 然后选择最外层的排序字段。 单击第二个下拉箭头, 然后选择值的排序方式。 单击 "更多", 然后单击 "带页眉部分" 右侧的箭头, 并选择 "无页眉" 部分。 对每个排序字段重复这些步骤, 底部显示最内层的排序字段。
-
如果已对报表进行分组或排序, 请查看现有级别并谨慎进行更改。 若要更改字段, 请使用第一个下拉箭头。 若要更改顺序, 请单击第二个下拉箭头。 若要将分组级别仅更改为排序级别, 请将标题部分更改为 "无页眉节"。
-
提示: 若要对单个字段的报表进行排序, 请在 "布局" 视图中打开报表, 右键单击该字段, 然后选择所需的排序命令。 例如, 如果选择 "年龄" 字段, 请单击 "从小到大" 或"降序"。 但是, 如果报表已分组或者要按多个字段进行排序, 则必须使用 "分组、排序和汇总" 窗格。
对表、查询或窗体进行排序
-
标识要排序的字段。 若要对两个或更多个字段进行排序, 请标识将充当最内层和最外层排序字段的字段。
-
右键单击与最内层字段对应的列或控件中的任意位置, 然后单击其中一个排序命令。 这些命令因所选字段中的数据类型而异。
注意: 当对数据类型为 "是/否" 的字段的数据进行排序时, "是"、"True" 或 "开" 的值被视为 "已选中", 而 "否"、"False" 或 "Off" 值被视为 "已清除"。 此类型字段的默认显示为复选框, 但您可以将其设置为以文本框或组合框的形式显示。 如果将此类型字段的显示更改为 "文本框" 或 "组合框", 它仍将排序为 "已选中" 或 "已清除"。
1. 数字、货币、自动编号
2. 短文本 (文本)、长文本 (备注)、超链接
3. 是/否
4. 日期/时间
-
对每个排序字段重复上一步骤, 以最外层的排序字段结尾。
重新排列记录以匹配排序顺序。
注意: 如果文本字段包含 null 和零长度字符串 (在按升序排序时), 将首先列出具有 null 值的记录, 然后是包含零长度字符串的记录, 然后是包含非空值的记录。
了解在排序期间如何处理特殊字符、前导空格和负值
如果字段中的值以特殊字符 (例如连字符、括号或其他符号) 开头, 当按升序排序时, 将会观察以下行为:
-
以空格字符开头的值将显示在字母数字值之前。
-
用引号引起来的值遵循以空格开头但在字母数字值之前的值。
-
以减号 (-) 开头的值位于以加号 (+) 开头的值前面。
-
对于所有其他符号, 通过查看字符的 ASCII 字符代码来确定顺序。 例如, 美元符号 ($) 的代码为 36, 等号 (=) 的代码为 61, 因此以 $ 开头的值将显示在以 = 开头的值之前。
若要替代此顺序, 您可以选择忽略字段中所有值的第一个字符。 如果字段中的值始终以单个特殊字符 (如减号) 或相同数量的特殊字符 (以这种方式) 开始, 则你知道要忽略多少个字符, 这种技术将起作用。 有关如何对部分值进行排序的分步信息, 请参阅文章根据字段中的部分值对记录进行排序。 如果要忽略的字符数不同, 您可以指定自定义排序顺序。 有关分步信息, 请参阅文章按自定义顺序对记录进行排序。
-
请记住, 不能只从单个字段中删除排序顺序。 若要从所有排序字段中删除排序, 请在 "开始" 选项卡上的 "排序 & 筛选" 组中, 单击 "清除所有排序", 然后应用所需的排序顺序。
其他排序方案
使用排序命令时, 字段的数据类型以及每个字段的完整值用于确定记录的顺序。 但是, 如果你希望文本值 (如星期一、星期二等) 按自定义顺序进行排序, 而不是按字母顺序排序, 该怎么办? 或者, 您想要对包含 IP 地址的文本字段进行排序? 如果排序命令不满足排序需求, 请参阅以下主题:
-
基于字段中的部分值对记录排序 想要根据字段中的前几个或最后几个字符对记录进行排序? 如果你喜欢编写简单的表达式, 请参阅本主题, 其中介绍了如何使用表达式提取部分值。
-
按区分大小写次序对记录排序 Access 将忽略文本值的大小写。 例如, 值smith和smith将被视为完全相同, 你不能控制将首先显示哪一个值。 如果想要执行区分大小写的排序, 请参阅本主题。
-
按存储在文本字段中的数值对记录排序 是否看到按单个数字而不是在数值上排序的记录? 例如, 如果值为11且121的记录显示在值为2或25的记录之前, 请参阅本文。
-
按自定义顺序对记录进行排序 如果要对特定值 (如日名称 (星期一、星期二等) 或员工职位 (经理、导演) 按对您有意义的顺序进行排序, 请参阅本文。
-
对 IP 地址排序 存储 IP 地址的字段包含多个数字和句点 (.), 因此简单文本或数字排序对于 IP 地址不起作用。 若要了解如何对 IP 地址进行排序, 请参阅本主题。
删除排序顺序
-
若要删除表、查询或窗体中的排序顺序, 请在 "开始" 选项卡上的 "排序 & 筛选" 组中, 单击 "清除所有排序"。
这将从视图中的所有字段中删除排序顺序。
-
若要从报表中删除排序顺序, 请通过单击分组 & 汇总组中的 "组 & ", 并在 "设计" 视图中的 "设计" 选项卡上的 "格式" 选项卡上, 打开 "分组、排序和汇总" 窗格。 然后, 单击要删除的排序级别, 然后单击 "删除"。 与排序字段对应的条目将以单词 "排序依据" 开头。 避免删除以Group by开头的条目, 因为这将更改报表的设计。
使用对象保存排序顺序
最后应用的排序顺序将自动与表、查询、窗体或报表一起保存。 如果希望下次打开对象时自动应用, 请确保对象的OrderByOnLoad属性设置为"是"。
由于上次应用的排序顺序会随时更改, 因此您可能希望定义永久 (或默认) 排序顺序。 您可以为查询或报表指定默认的排序顺序。 需要注意的重要一点是, 虽然默认的排序顺序未被当前或上次保存的排序顺序所覆盖, 但仅当从视图中删除当前或上次保存的排序顺序时才会生效。
-
若要定义查询的默认排序顺序, 请在 "设计" 视图中将其打开。 将排序字段添加到设计网格, 然后在 "排序" 行中, 指定所需的顺序。
-
若要定义报表的默认排序顺序, 请使用 "布局" 或 "设计" 视图中的 "分组、排序和汇总" 窗格。 有关分步信息, 请参阅对报表进行排序一节。
若要查看按默认排序顺序排序的记录, 请在 "开始" 选项卡上的 "排序 & 筛选" 组中, 单击 "清除所有排序"。 这将从视图中删除当前或上次保存的筛选器, 并允许以默认顺序查看记录。