四时宝库

程序员的知识宝库

Access按文本字段顺序排序(access中的文本)

在Access数据表中,我们需要对数据按序号进行排序。如果是文本类型,即不会按阿拉伯数字大小排序。

比如说表中数据有文件编号,文件编号为 公告[2017]3号,[2017]12号......需要按文件编号顺序排序

这里如果用系统自带的排序功能或者直接用order by排序都是不正确的。

所以需要创建查询,分别提取年份和号数,然后排序

SELECT 表1.文件编号, CLng(Mid([文件编号],InStr(1,[文件编号],"[")+1,4)) AS 年份, CLng(Mid([文件编号],InStr(1,[文件编号],"]")+1,InStr(1,[文件编号],"号")-InStr(1,[文件编号],"]")-1)) AS 编号
FROM 表1
ORDER BY CLng(Mid([文件编号],InStr(1,[文件编号],"[")+1,4)), CLng(Mid([文件编号],InStr(1,[文件编号],"]")+1,InStr(1,[文件编号],"号")-InStr(1,[文件编号],"]")-1));

更多的Access技巧源码请关注Office交流网:http://www.office-cn.net

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接