对记录进行排序(区分大小写 (ASCII)-杨雪
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


对记录进行排序(区分大小写 (ASCII)

发表时间:2021/9/3 19:53:41 评论(0) 浏览(2949)  评论 | 加入收藏 | 复制
   
摘 要:Access 按升序或降序对记录进行排序,而不考虑大小写。 但是,您可以在查询中使用用户定义的函数按文本数据的 ASCII 字符值对其进行排序。 这样会导致排序时区分大小写。
正 文:
下表演示 Access 中的升序顺序与区分大小写的顺序的区别。

对记录进行排序(区分大小写 (ASCII))
预排序顺序 升序 区分大小写的顺序
c                 A                 A
D                a                  B
a                 B                 C
d                 b                 D
B                 C                 a
C                 c                  b
A                 D                 c

b                 d                  d


尽管"升序 " 列中的结果最初看起来可能有点不可预测,但并不是。 在 升序列中 ,"a"出现在"A"之前,"B"出现在"b"之前。 这是因为作为文本值计算时,无论小写还是大写,“A”=“a”,“B”=“b”。 Access 考虑值的原始顺序。

在 "排序前顺序 "列中,"a"在"A"之前,"B"在"b"之前。

当执行区分大小写的排序操作时,文本值替换为其 ASCII 值。 例如,A = 65,a = 97,B = 66,b = 98,等等。


以下用户定义的函数可用于以区分大小写的顺序对数据进行排序。

Function StrToHex(S As Variant) As Variant 
 Dim Temp As String, I As Integer 
 
 If VarType(S) <> 8 Then 
 
 StrToHex = S 
 Else 
 Temp = "" 
 For I = 1 To Len(S) 
 Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00") 
 Next I 
 StrToHex = Temp 
 End If 
End Function


StrToHex 函数
前面的用户定义的函数 StrToHex 可以从查询中调用。 将排序字段的名称传递给此函数时,将以区分大小写的顺序对字段值进行排序。 下面的步骤说明如何使用此函数。
创建要从中调用此函数的查询。
在"显示表"对话框中,选择要排序的表,然后选择"添加 "。
将希望的字段拖动到网格中。
在"字段"行的第一个空白列中,键入 Expr1: StrToHex ([ SortField ])。 StrToHex 是之前创建的用户定义函数。 SortField 是包含区分大小写值的字段的名称。
在"排序" 单元格中,选择"升序"或 "降序"。 如果您选择升序顺序,则以大写字母开头的值将显示在以小写字母开头的值之前。 应用降序排序则相反。
切换到数据表视图。 Access 按区分大小写的顺序显示记录。

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access示例】连续窗体排序  【缪炜  2017/4/14】
根据类别汇总对分销商数据进行排序  【伊西军  2018/8/28】
【Access示例】--先按【分类】合计金额排序,再按订单金额排序  【宏鹏  2018/9/19】
将筛选的所有数据按照指定顺序排序  【杨雪  2020/6/13】
用Access实现对一组字符串进行排序  【李志能  2020/10/1】
对结果集进行排序  【杨雪  2021/3/21】
【Access排序示例】通过对话框设置排序关键字  【杨雪  2021/8/13】
常见问答
技术分类
相关资源
文章搜索
关于作者

杨雪

文章分类

文章存档

友情链接