Foxtable(狐表)用户栏目专家坐堂 → 关于数据排序问题


  共有2000人关注过本帖树形打印复制链接

主题:关于数据排序问题

帅哥哟,离线,有人找我吗?
yacity
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
关于数据排序问题  发帖心情 Post By:2020/7/11 9:31:00 [只看该作者]

关于数据排序问题,如图所示,


此主题相关图片如下:paixu.jpg
按此在新窗口浏览图片

排序代码

If txt.IndexOf(" ") = -1 Then '如果没有空格

tbl.filter = "chanpinname Like " & txt & " or guige Like " & txt & " or JM Like " & txt & "  "

    tbl.Sort = "chanpinname desc,guige desc,danwei desc"

本来是想要按从小到大排序的。

实际情况产品名称相同的情况下,10CM排在了 2CM 3CM 的前面,这明显不是我想要的。


在不改变数据内容的情况下,如何按从小到大排序?



 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4634 积分:33820 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2020/7/11 9:43:00 [只看该作者]

添加辅助列

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106816 积分:543281 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/11 9:43:00 [只看该作者]

正常。字符串是按顺序从左到右进行排序的。10CM的从左第1位是1,比2CM的左第1位2小,所以排前面。

方法1、增加一个排序列,手工排序,然后按照这个排序列排序
2、增加一个双精度列,把规格里的数值提取放到双精度列里,然后按这个双精度列排序

 回到顶部
帅哥哟,离线,有人找我吗?
yacity
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2020/7/15 16:21:00 [只看该作者]

那么如果新增paixu列,怎么样提取 guige(规格)列中的的内容,把其中的数字填充入排序列呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106816 积分:543281 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/15 16:36:00 [只看该作者]

比如:

Dim pattern As String = "[^\d+.]"
Dim txt = "2.5cm"
Dim str = System.Text.RegularExpressions.Regex.Replace(txt , pattern ,"")
Output.Show(str)

 回到顶部