Foxtable(狐表)用户栏目专家坐堂 → 排序问题求解


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

主题:排序问题求解

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
排序问题求解  发帖心情 Post By:2020/10/10 22:39:00 [只看该作者]

主表按输入顺序排序,但是我用下面的代码,把不重复的值抽取到一个新的临时表中的,时候,排序变了,很是困扰
Dim Vals As List(of String())
Vals = DataTables("采购单").GetValues("公司名称|产品名称")
For i As Integer = 0 To Vals.Count - 1
    Dim dr As DataRow = DataTables("批量录入").AddNew()
    dr("公司名称") = Vals(i)(0)
    dr("产品名称") = Vals(i)(1)
Next

原表 (按输入顺序)                                            
产品代码
-------------------------------------
C008
B005
F010

读到新的临时表,排列顺序变成按字母顺序
产品代码
--------------------------
B005
C008
F010
我希望能按原本的输入顺序排列,不要按首字母顺序重新排序。要怎么做?谢谢老师!






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


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

参考:http://www.foxtable.com/webhelp/topics/2747.htm

Vals = DataTables("采购单").GetValues("公司名称|产品名称","","_sortkey")

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2020/10/12 15:05:00 [只看该作者]

蓝老师好,按您的方法修改后,排序问题倒是解决了,但是却把所有值都带进来了。比如下表
原表 (按输入顺序)                                            
产品代码
-------------------------------------
C008
B005
F010
A009
C008
B005
F010
A009
C008
B005
F010
A009
C008
B005
F010
A009
---------------------------------
其中,重复的是C008,B005,F010,A009四项,一共重复了4次,如果不使用,"_sortkey")取到的值是4个没错,但是用了,"_sortkey"则取到了16个值,这个和我的初衷就不一样了。
请您拨冗再指点下,谢谢!



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


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

不可能的。除非这些产品是不同的公司的

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2020/10/12 15:58:00 [只看该作者]

蓝老师,我想把我的系统传给您看下,但是数据库压缩后仍然超过2048K,您看我要怎么传给您呢?或者您看能不能给我个QQ号,您远程看下,我操作给您看看?

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


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

新建一个项目,导入对应的表和窗口,重现同样的问题,然后把新项目文件发上来。不需要发整个项目

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2020/10/12 17:21:00 [只看该作者]

蓝老师好,我重建项目之后才发现是我代码写错了!图片点击可在新窗口打开查看
正确的代码是GetValues("公司名称|产品名称","","_sortkey")把中间的两个双引号漏掉了,写成GetValues("公司名称|产品名称","_sortkey")。
现在检索出来的值是正确的了,但是,如果再附加条件还是报错,麻烦您看下
Vals = DataTables("采购单").GetValues("产品编码|产品名称","","_sortkey","[供应商名称]= '"& tab &"'")
不加后面的供应商名称能正确运行,加了就报错。

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/12 17:35:00 [只看该作者]

语法:

GetValues(ColumnName,Filter,Sort)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值;请参考表达式的运算符和函数 和 条件表达式
Sort:  


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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2020/10/13 21:16:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:不重复取值问题.table

以下是引用有点蓝在2020/10/12 17:35:00的发言:

语法:

GetValues(ColumnName,Filter,Sort)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值;请参考表达式的运算符和函数 和 条件表达式
Sort:  


蓝老师好,又来麻烦您了,还是不能得到我要的排序效果,我把测试项目发到附件里,数据库是2005的,请您帮忙看下

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:data.rar


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


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

应该是这个不重复的值的理解有问题。【.GetValues("编码|名称|款型"】的情况下,这3个列的值都完全一样才算是重复。

您的意思是只需要编码,其它名称|款型如果有不一样的随便取一个?

 回到顶部
总数 14 1 2 下一页