以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求算法将表中重复行记录删掉!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55690)

--  作者:heying325
--  发布时间:2014/8/21 13:56:00
--  求算法将表中重复行记录删掉!
我有一个表,里面的数据是通过excel合并来的,有很多重复的记录。。我想设置一个功能,能将这些重复的删掉,只保留唯一的记录,请教算法!
--  作者:Bin
--  发布时间:2014/8/21 14:04:00
--  
利用重复值筛选http://www.foxtable.com/help/topics/1478.htm
http://www.foxtable.com/help/topics/2712.htm


筛选出来结果然后删除即可

--  作者:有点甜
--  发布时间:2014/8/21 14:06:00
--  
删除重复值,有简单的办法,例如删除第一列重复值:
 
Tables("表A").RepeatFilter("第一列", 2)
DataTables("表A").DeleteFor(Tables("表A").Filter)
Tables("表A").Filter = ""
 
参考:
http://www.foxtable.com/help/topics/2712.htm
--  作者:有点甜
--  发布时间:2014/8/21 14:07:00
--  
或者正常的删除

Dim i As Integer
For i  = DataTables("表A").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("表A").DataRows(i)
    Dim dr2 As DataRow = DataTables("表A").Find("第一列=\'" & dr("第一列") & "\' and 第二列=\'" & dr("第二列") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next