Foxtable(狐表)用户栏目专家坐堂 → [求助]多值去除重复值


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

主题:[求助]多值去除重复值

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
[求助]多值去除重复值  发帖心情 Post By:2020/4/3 21:03:00 [只看该作者]

求助
中国,中国,美国,英国
去除重复值  中国,得到
中国,美国,英国
[此贴子已经被作者于2020/4/3 21:03:34编辑过]

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2020/4/5 10:12:00 [只看该作者]

Dim nms() As String = {"11","22","33","22","33","44"}    '定义包含现有数据的数组
Dim lst As new List(of String)     '定义一个字符集合
For Each s As String In nms        '获取数组中的每个值
    If lst.Contains(s) Then
        Output.Show(s & "重复")     '如果集合中已存在,就显示
    Else
        lst.Add(s)    '没有,则添加到集合
    End If
Next

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
  发帖心情 Post By:2020/4/8 15:37:00 [只看该作者]

求助,下面代码怎么修改,实现汇总 参与人,排除重复值
想实现效果
中国,中国,美国
去除重复值  中国,得到
中国,美国

下面代码不能排除重复的参与人

Dim drf As DataRow = e.DataRow
Select Case e.DataCol.Name
     Case "裁判员","守门员","中锋队员"
        drf("参与人") = IIF(drf.IsNull("裁判员"),"",drf("裁判员")+",")
        drf("参与人") += IIF(drf.IsNull("守门员"),"",drf("守门员")+",")
        drf("参与人") += IIF(drf.IsNull("中锋队员"),"",drf("中锋队员")+",")
        drf("参与人") = drf("参与人").trimend(",")
End Select
[此贴子已经被作者于2020/4/8 15:56:52编辑过]

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


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

Dim drf As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "裁判员","守门员","中锋队员"
        Dim lst As new List(of String)
        Dim nms As String = {"裁判员","守门员","中锋队员"}
        For Each s As String In nms
            If drf.IsNull(s) = False AndAlso lst.Contains(s) = False Then lst.Add(s)
        Next
        If lst.Count > 0 Then
            drf("参与人") = String.Join(",",lst.ToArray)
else
drf("参与人") = nothing
        End If
End Select

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
  发帖心情 Post By:2020/4/8 17:50:00 [只看该作者]


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


想实现像上图,参与人自动根据右边3列值生成值,自动排除重复值,李四
[此贴子已经被作者于2020/4/8 18:11:50编辑过]

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)Dim drf As DataRow = e.DataRowSele...  发帖心情 Post By:2020/4/9 8:02:00 [只看该作者]

蓝总,前楼代码不是想实现的效果,辛苦再帮忙

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


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

旧数据重置一下列

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
  发帖心情 Post By:2020/4/9 9:36:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:screenshot_20200409_093334.jpg
图片点击可在新窗口打开查看
Dim drf As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "裁判员","守门员","中锋队员"
Dim lst As new List(of String)
Dim nms() As String = {"裁判员","守门员","中锋队员"}
'Dim nms() As String = drf("参与人")
For Each s As String In nms
If drf.IsNull(s) = False AndAlso lst.Contains(s) = False Then lst.Add(s)
Next
If lst.Count > 0 Then
drf("参与人") = String.Join(",",lst.ToArray)
Else
drf("参与人") = Nothing
End If
End Select

蓝总,参与人姓名被替换了,还没去处重复
[此贴子已经被作者于2020/4/9 9:37:13编辑过]

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


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

If drf.IsNull(s) = False AndAlso lst.Contains(s) = False Then lst.Add(s)
改为
If drf.IsNull(s) = False AndAlso lst.Contains(drf.IsNull(s) ) = False Then lst.Add(drf(s) )

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)If drf.IsNull(s) = False AndAlso l...  发帖心情 Post By:2020/4/9 10:16:00 [只看该作者]

参与人,还是不能去除重复值
[此贴子已经被作者于2020/4/9 10:16:09编辑过]

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