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


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

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

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


加好友 发短信
等级:六尾狐 帖子:1341 积分:9755 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助]关于筛选重复值  发帖心情 Post By:2016/9/2 21:11:00 [只看该作者]

怎么样在在一个表中筛选出某列重复的值。。。是不同的数据但又有重复的。。。

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 8:58:00 [只看该作者]

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


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


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/3 9:50:00 [只看该作者]

除了代码,还可以通过菜单完成:

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

 


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


加好友 发短信
等级:六尾狐 帖子:1341 积分:9755 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2016/9/3 10:47:00 [只看该作者]

有点蓝   基本是这个意思,但是这个只能筛选出重复值,,,

Tables("A").RepeatFilter("第一列"0)

我第三列有个逻辑列,要筛选逻辑为False的重复值,怎么处理

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 11:04:00 [只看该作者]

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

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


加好友 发短信
等级:六尾狐 帖子:1341 积分:9755 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2016/9/3 14:11:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:8.png
图片点击可在新窗口打开查看
2.01.01.01.124 BM-12R-M接收板(已调试) 4000 4500 PO1609001 1.01.01.01.0004A|1.01.01.01.0002C 1.02.19.0012|1.02.110.0001|1.02.14.0026
2.01.01.01.125 REC-2R-AB接收板(已调试) 4000 4500 PO1609001 1.01.01.01.0004A|1.01.01.01.0002C 1.02.19.0012|1.02.110.0001|1.02.14.0026
2.01.01.01.124 BM-12R-M接收板(已调试) 2500 2500 PO1609002 1.01.01.01.0004A|1.01.01.01.0002D 1.02.19.0012|1.02.110.0001|1.02.14.0026D
2.01.01.01.125 REC-2R-AB接收板(已调试) 2500 2500 PO1609002 1.01.01.01.0004A|1.01.01.01.0002C 1.02.19.0012|1.02.110.0001|1.02.14.0026

如上数据,,,如何 将相同料号的数量加总,另外如果订单号不相同,也要汇总,成品代码和产品代码,不想的也需要汇总。。。。怎么样处理。

成品代码和产品代码用 符号 “|” 分开,最终想得到的效果如下。 有变动的用红色字体表示出来了。。。。
2.01.01.01.124 BM-12R-M接收板(已调试) 6500 7000 PO1609001|PO1609002 1.01.01.01.0004A|1.01.01.01.0002C|1.01.01.01.0002D 1.02.19.0012|1.02.110.0001|1.02.14.0026|1.02.14.0026D
2.01.01.01.125 REC-2R-AB接收板(已调试) 6500 7000 PO1609001|PO1609002 1.01.01.01.0004A|1.01.01.01.0002C 1.02.19.0012|1.02.110.0001|1.02.14.0026

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

[此贴子已经被作者于2016/9/3 14:17:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 14:17:00 [只看该作者]

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

具体上例子说明

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


加好友 发短信
等级:六尾狐 帖子:1341 积分:9755 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2016/9/3 14:22:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table


有点蓝老师,请看附档。。。。

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


加好友 发短信
等级:超级版主 帖子:109406 积分:556686 威望: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)

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


加好友 发短信
等级:六尾狐 帖子:1341 积分:9755 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2016/9/3 16:42:00 [只看该作者]

有点蓝老师,代码试运行没有效果。。。。
问题点应该在这里。。。但没有想有效的方法 。(每当比对物料代码不相同时dr就会重新赋值,这样dr就没办法在循环的过程中是表示最后一行了)

 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

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