Foxtable(狐表)用户栏目专家坐堂 → 多列提取不重复的值增加到单元格中


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

主题:多列提取不重复的值增加到单元格中

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
多列提取不重复的值增加到单元格中  发帖心情 Post By:2018/7/18 22:48:00 [只看该作者]

老师:

下面这段代码有二个需求:
1、这种集合能排序吗?
2、如何合并到指定单元格中,如:“AA|33,CC|55”


Dim st As String
Dim Arys As New List(Of String())
Arys = DataTables("编号统计").GetValues("市外_入围编号|市外_次数")
arys.Sort = "市外_入围编号,市外_次数 DESC"
For Each Ary As String() In Arys
    ' msgbox(Ary(0) & "|" & Ary(1))
    st = Ary(0) & "|" & Ary(1)
    st = st & "," & st
Next
'Dim st As String = String.Join("@",Arys.ToArray)
msgbox(st)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/18 23:05:00 [只看该作者]

Arys = DataTables("编号统计").GetValues("市外_入围编号|市外_次数", "", "市外_入围编号,市外_次数 DESC")

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/19 12:43:00 [只看该作者]

老师下面代码是可以用了,有没有更好的办法,难道一定要新增一另一个集合中吗?

Dim Arys As New List(Of String())
Dim lst As New List(Of String)
Arys = DataTables("编号统计").GetValues("市外_入围编号|市外_次数", "", "市外_入围编号,市外_次数 DESC")
For Each Ary As String() In Arys
    Dim st As String = Ary(0) & "|" & Ary(1)
    If lst.Contains(st) = False Then
        lst.Add(Ary(0) & "|" & Ary(1))
    End If
Next
msgbox(String.Join(",",lst.ToArray))


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 12:50:00 [只看该作者]

参考

 

http://www.foxtable.com/webhelp/scr/2910.htm

 

[此贴子已经被作者于2018/7/19 12:50:42编辑过]

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


加好友 发短信
等级:小狐 帖子:342 积分:3898 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2018/7/19 19:34:00 [只看该作者]

受教了!谢谢


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 19:58:00 [只看该作者]

 

Dim s As String = DataTables("产品").SQLGetComboListString("市外_入围编号 + ',' + 市外_次数", "", "市外_入围编号,市外_次数 DESC)

output.show(s)


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/22 20:51:00 [只看该作者]

有点甜老师:

按6楼的做法,弹出的是空白,没有数据。我的需求是:把排序前五项输入到textbox中去

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



图片点击可在新窗口打开查看此主题相关图片如下:pppp.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2018/7/22 20:51:57编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/22 22:57:00 [只看该作者]

1、数据保存后,才能用SQLGetComboListString的,没有保存的数据获取不到;

 

2、现正在的SQLGetComboListString有bug,排序如果是多个排序的时候,会出错(等候修复)。

 

下面这样不排序的时候没问题

 

Dim s As String = DataTables("统计编号").SQLGetComboListString("cstr(编号) + ',' + cstr(次数)", "编号 is not null", "")

msgbox(s)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/22 22:59:00 [只看该作者]

3、尽量用你3楼的方式处理吧,那个也是最靠谱的方法了。

 回到顶部