按存储在文本字段中的数值对记录排序

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

Access 中的短文本 (文本) 或长文本 (memo) 字段中存储的数字和字符串将按字母顺序排序。 换句话说, 数字将基于构成值的单个数字 (而不是数值) 进行排序。 例如, 值11显示在2之前, 值12显示在3之前, 如下表所示。

学生姓名

学生号码

John

1

Maria

10

William

11

Mary

Jane

2

林恩

3

Jason

4

Mary

5

若要确保数字基于其数值进行排序, 而不是按字母顺序排序, 请执行下列操作之一:

  • 如果字段仅包含数值, 请考虑将字段的数据类型更改为 "数字" 或 "货币"。

  • 在以下情况下, 请使用以下过程:

    • 该字段仅包含数值, 但不希望更改字段的数据类型。

    • 该字段包含数值和字符串值, 但你希望在排序时忽略字符串值。

此过程使用Val函数获取存储为文本的数字的数值。 该表达式还使用IIf函数处理可能位于排序字段中的 null 值。

  1. 在 "开始" 选项卡上的 "排序 & 筛选" 组中, 单击 "高级", 然后单击快捷菜单上的 "高级筛选/排序"。

  2. 在第一列的 "字段" 行中, 键入表达式表达式 1: IIf ([fieldname] 为 Null、0、Val ([fieldname]))

    IIf函数将检查字段值是否为 null, 如果是, 则将其视为0。 如果值不为 null, 则IIf函数调用Val函数以获取等效的数字。

  3. 在 "排序单元格" 中, 选择 "升序" 或 "降序"。

    "升序排序" 将显示顶部有最小值的记录, 以及底部具有最大值的记录。 按降序排序将执行相反的操作。

  4. 在 "开始" 选项卡上的 "排序 & 筛选" 组中, 单击 "切换筛选"。

如果上述过程不适合你, 则可以尝试使用另一种方法避免更改表的结构。 这涉及 "填充" 值, 其中包含较少的带前导零的数字。 例如, 在应用排序之前, 先将值11、2、2000和3更改为0011、0002、2000和0003。

返回页首

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×