Foxtable(狐表)用户栏目专家坐堂 → [求助]关于筛选重复值


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

主题:[求助]关于筛选重复值

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112375 积分:572137 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 8:58:00 [显示全部帖子]

即不同又重复吗,这有点拗口


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112375 积分:572137 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 11:04:00 [显示全部帖子]

Tables("表A").Filter = "第三列 = false"
Tables("表A").RepeatFilter("第一列", 0)

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112375 积分:572137 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 14:17:00 [显示全部帖子]

按物料代码排序,然后顺序循环所有行,相同的进行汇总。

具体上例子说明

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112375 积分:572137 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 15:17:00 [显示全部帖子]

Dim sum As Double
Dim dr As Row = Tables("排期表").Rows(Tables("排期表").Rows.Count - 1)
If dr.IsNull("成品代码") =False Then
    code.AddRange(dr("成品代码").split("|"))
    sum = dr("排产数量")
End If
For i As Integer = Tables("排期表").Rows.Count - 2 To 0 Step -1
    Dim r As Row = Tables("排期表").Rows(i)
    If dr("物料代码") = r("物料代码") Then
        sum += r("排产数量")
        If r.IsNull("成品代码") =False Then
            For Each s As String In r("成品代码").split("|")
                If Not code.Contains(s) Then code.Add(s)
            Next
        End If
        r.Delete
    Else
        dr("排产数量") = sum
        dr("成品代码") = String.Join("|",code.ToArray)
        dr = r
        code.Clear
        If r.IsNull("成品代码") =False Then
            code.AddRange(r("成品代码").split("|"))
            sum = r("排产数量")
        End If
    End If
Next
dr("排产数量") = sum
dr("成品代码") = String.Join("|",code.ToArray)

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112375 积分:572137 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 16:56:00 [显示全部帖子]

汗,拷贝漏了2行代码

Tables("排期表").Sort = "物料代码"
Dim sum As Double
Dim code As new List(of String)
Dim dr As Row = Tables("排期表").Rows(Tables("排期表").Rows.Count - 1)
If dr.IsNull("成品代码") =False Then
    code.AddRange(dr("成品代码").split("|"))
    sum = dr("排产数量")
End If
For i As Integer = Tables("排期表").Rows.Count - 2 To 0 Step -1
    Dim r As Row = Tables("排期表").Rows(i)
    If dr("物料代码") = r("物料代码") Then
        sum += r("排产数量")
        If r.IsNull("成品代码") =False Then
            For Each s As String In r("成品代码").split("|")
                If Not code.Contains(s) Then code.Add(s)
            Next
        End If
        r.Delete
    Else
        dr("排产数量") = sum
        dr("成品代码") = String.Join("|",code.ToArray)
        dr = r
        code.Clear
        If r.IsNull("成品代码") =False Then
            code.AddRange(r("成品代码").split("|"))
            sum = r("排产数量")
        End If
    End If
Next
dr("排产数量") = sum
dr("成品代码") = String.Join("|",code.ToArray)

 回到顶部