以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何找出某个字段的值重复,并把它多余的打勾,再删除? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97164) |
-- 作者:蓝才文百 -- 发布时间:2017/3/7 11:47:00 -- [求助]如何找出某个字段的值重复,并把它多余的打勾,再删除? 表中有个“货号”字段,许多值是重复导入,现在要把重复多余的值标识出来并勾选,然后剔除。 不过,重复的货号,至少要保留一个,不能都删除了。 求助,用代码如何写? 非常感谢!
|
-- 作者:wyz20130512 -- 发布时间:2017/3/7 13:27:00 -- With DataTables("表A") Dim hhs As List(Of String) = .GetValues("货号") For Each hh As String In hhs Dim dr As DataRow = .Find("货号 = \'" & hh & "\'") dr.Locked = True Next .DeleteFor("") End With
|
-- 作者:蓝才文百 -- 发布时间:2017/3/7 14:35:00 -- 谢谢楼上,不行呢 |
-- 作者:蓝才文百 -- 发布时间:2017/3/7 15:11:00 -- 自己用笨办法实现了,效率不行,大家看看,有什么企图更好办法? Dim tb As WinForm.Table = e.Form.Controls("Table1") tb.Table.Sort = F1 Dim hhs As List(Of String) = DataTables(TN_SampleList).GetValues(F1) Dim iTag As Integer For Each hh As String In hhs itag=0 For Each r As Row In tb.Table.Rows If r(F1)=hh Then If itag<>0 Then r.Checked = True itag=itag+1 End If Next Next |
-- 作者:蓝才文百 -- 发布时间:2017/3/7 15:18:00 -- 如何把找出来的重复行,设置颜色呢? |
-- 作者:有点色 -- 发布时间:2017/3/7 16:14:00 -- 1、可以直接用
http://www.foxtable.com/webhelp/scr/1478.htm
http://www.foxtable.com/webhelp/scr/2712.htm
2、写代码就这样写
Dim idx As String = "-1," If count > 1 Then Tables("表A").filter = "_Identify in (" & idx.trim(",") & ")" |
-- 作者:wyz20130512 -- 发布时间:2017/3/8 10:38:00 -- 2楼代码,经测试没问题呀?每个货号只会留一条记录数据。多余直接全部删除。这不是你想要的效果吗? [此贴子已经被作者于2017/3/8 10:38:37编辑过]
|
-- 作者:蓝才文百 -- 发布时间:2017/3/8 14:49:00 -- 多谢!我使用的是窗口,可能有些属性没有。 另外我需要一个让用户确认的过程,不是直接删除。 你的代码思路是一个快速方法,大家以后查帖子可以多用用看。
|
-- 作者:蓝才文百 -- 发布时间:2017/3/8 14:50:00 -- 多谢 色版! |