以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 如何实现特殊的重复行筛选? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9097)
|
-- 作者:易服
-- 发布时间:2011/2/16 16:44:00
-- 如何实现特殊的重复行筛选?
作一按钮检查重复行
在表A中如果a,b,c,d,e.f.g列有数据相同超过2行则视为重复,并且全部筛选出来。
求教代码?
[此贴子已经被作者于2011-2-16 18:03:38编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2011/2/16 17:40:00
--
foxtable菜单不是有筛选重复行的功能。
|
-- 作者:易服
-- 发布时间:2011/2/16 17:56:00
--
foxtable菜单筛选重复行不能实现我要的功能
|
-- 作者:狐狸爸爸
-- 发布时间:2011/2/16 18:01:00
--
直接筛选是没有办法的,用Select语句吧。
|
-- 作者:mr725
-- 发布时间:2011/2/16 19:56:00
--
这样可以吗:
Dim id As String For ci As Integer = 0 To CurrentTable.cols.count -1 CurrentTable.Filter = "" Dim lm As String = CurrentTable.cols(ci).name CurrentTable.Select(0,ci) Tables("表A").focus
Syscmd.Filter.ShowSameValues() For i As Integer = 0 To CurrentTable.count -1 Dim rr As Row = Tables("表A").Rows(i) If rr(lm) <> "" \' If id.contains(Tables("表A").Rows(i)("_identify")) = False id = id & "[_identify] = " & Tables("表A").Rows(i)("_identify") & " or " \' End If End If Next
Next output.show(id.substring(0,id.Length-4)) Tables("表A").Filter = id.substring(0,id.Length-4)
顺便问一下老师们 :‘上面粉红色的这个if语句有什么问题,怎么会提示错误呢 ??
|
-- 作者:kylin
-- 发布时间:2011/2/16 20:25:00
--
Tables("表A").Rows(i)("_identify")得出的值是整数
id.contains应该是判断是否包含字符
你先做转换整数型为字符型试试看
|
-- 作者:mr725
-- 发布时间:2011/2/16 20:45:00
--
也不行,提示一样 此主题相关图片如下:未命名.jpg
|
-- 作者:mr725
-- 发布时间:2011/2/16 21:08:00
--
知道了,缺少了个条件 If id Is Nothing ··· else ··· end if
|
-- 作者:mr725
-- 发布时间:2011/2/16 21:13:00
--
这样所有列中有重复值时都可以筛选出来了:
With DataTables("表A") .StopRedraw Dim id0,id As String For ci As Integer = 0 To CurrentTable.cols.count -1 CurrentTable.Filter = "" Dim lm As String = CurrentTable.cols(ci).name CurrentTable.Select(0,ci) Tables("表A").focus
Syscmd.Filter.ShowSameValues() For i As Integer = 0 To CurrentTable.count -1 Dim rr As Row = Tables("表A").Rows(i) If rr(lm) <> "" Dim ide As String = rr("_identify")
If id Is Nothing id = id & "[_identify] = " & rr("_identify") & " or " Else If id <> "" And id.contains(ide) = False id = id & "[_identify] = " & rr("_identify") & " or " End If End If End If Next \'Exit For Next
Tables("表A").Filter = id.substring(0,id.Length-4) .ResumeRedraw End With
|
-- 作者:程兴刚
-- 发布时间:2011/2/16 22:05:00
--
当一个重复也没有的时候会报错!
|