Foxtable(狐表)用户栏目专家坐堂 → 提取重复值的问题


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

主题:提取重复值的问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
提取重复值的问题  发帖心情 Post By:2017/9/28 8:52:00 [只看该作者]

老师,下面代码可以进行单数据的比对,如果是多值的如何进行比对,并提取重复值到另一列

 

-DataColChanged

 

Dim dt As DataTable = DataTables("技术表")
For Each dr As DataRow In dt.DataRows
    If dt.Find("测试数据 = '" & dr("标准数据") & "'") IsNot Nothing Then
        dr("包含数据") = dr("标准数据")
    End If
Next

 

标准数据                  测试数据                  包含数据

123,456,789           111,234,123           123

 

256,547,986           986,369,256           256,986

[此贴子已经被作者于2017/9/28 8:52:14编辑过]

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


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

Dim dt As DataTable = DataTables("技术表")
For Each dr As DataRow In dt.DataRows
    If dt.Find("测试数据 like '%" & dr("标准数据") & "%'") IsNot Nothing Then
        dr("包含数据") = dr("标准数据")
    End If
Next

 

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

 

 


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/9/28 9:39:00 [只看该作者]

老师,这里的条件表达式的LIKE很难设置,因为标准数据根据每次实验得到的数据不一样,而测试数据也是变化的,很难设通配符附近的值

 

做了个例子,请老师指导指导 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:技术数据比对.foxdb


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


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

DataColChanged事件

 

Select Case e.DataCol.name
    Case "测试数据","标准数据"
        Dim s1 As String = e.DataRow("标准数据")
        Dim s2 As String = e.DataRow("测试数据")
        If s1 = "" OrElse s2 = "" Then
            e.DataRow("包含数据") = Nothing
        Else
            Dim str As String = ""
            Dim ary As String() = s2.split(",")
            For Each s As String In s1.Split(",")
                If array.IndexOf(ary, s) >= 0 Then
                    str &= s & ","
                End If
            Next
            e.DataRow("包含数据") = str.trim(",")
        End If
End Select


 回到顶部