以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  删除重复记录行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=117947)

--  作者:hope1122
--  发布时间:2018/4/21 12:24:00
--  删除重复记录行
窗口中设置一个按钮,表A中如果姓名、 任务完成、卫生、日期四项内容如果一样,则为重复记录,然后把重复记录从表A中删除,如何操作?谢谢

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

--  作者:有点蓝
--  发布时间:2018/4/21 15:29:00
--  
参考

Dim t As Table = Tables("表A")
t.Sort = "姓名,任务完成,卫生,日期"
If t.Rows.Count > 1 Then
    Dim r As Row = t.Rows(t.Rows.Count - 1)
    For i As Integer = t.Rows.Count - 2 To 0 Step -1
        Dim r1 As Row = t.Rows(i)
        If r("姓名") = r1("姓名") And r("任务完成") = r1("任务完成") And r("卫生") = r1("卫生") And r("日期") = r1("日期") Then
            r1.Delete
        Else
            r = r1
        End If
    End If
End If

--  作者:cd_tdh
--  发布时间:2018/5/16 19:09:00
--  
老师我用这个代码做了个事例文件删除重复行可以,项目里面执行只能删除部分呢?

Dim t As Table = Tables("合同管理")
t.Sort = "合同编码,项目名称,合同协议书"
If t.Rows.Count > 1 Then
    Dim r As Row = t.Rows(t.Rows.Count - 1)
    For i As Integer = t.Rows.Count - 2 To 0 Step -1
        Dim r1 As Row = t.Rows(i)
        If r("合同编码") = r1("合同编码") And r("项目名称") = r1("项目名称")  And r("合同协议书") <> Nothing Then
            r1.Delete
        Else
            r = r1
        End If
    Next
End If

意思是有重复行时,删除合同协议书不为空的行
[此贴子已经被作者于2018/5/16 19:13:17编辑过]

--  作者:有点甜
--  发布时间:2018/5/16 19:32:00
--  

代码没问题,实例发上来测试。

 

或者试试下面代码

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=115058&skin=0