以文本方式查看主题

-  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=104497)

--  作者:轩辕绝
--  发布时间:2017/7/30 23:13:00
--  [求助]重复行,去重的问题。

我的“勤务排班管理窗口”

如图,有“去重”按钮

 

重复排班的判定依据为:日期,飞机号,航班号,航段,安全员  这5个字段同时重复才判定为重复数据。

 

点击去重按钮,

自动将重复的数据自动合并为一条(只显示一条)。

请问去重按钮的代码如何编写。

绑定表名为“勤务信息表”


 


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

 

 

之前提问过此问题,您回答

 

我自己修改代码为:

\'----删除重复,参考代码-------

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "日期,飞机号,航班号,安全员"
For Each dr As DataRow In DataTables("勤务信息表").Select("", cs)
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c).replace(" ","") <> dr(c).replace(" ", "") Then
                flag = True
                Exit For
            End If
        Next
        If flag Then
            If count > 1 Then
                idx &= idx_temp
            End If
            count = 1
            idx_temp = ""
        Else
            count += 1
            idx_temp &= dr("_Identify") & ","
        End If
    Else
        count += 1
    End If
    pdr = dr
Next
If count > 1 Then
    idx &= idx_temp
End If

Tables("勤务信息表").Filter = "_Identify not In (" & idx.trim(",") & ")"
DataTables("勤务信息表").DeleteFor("_Identify not In (" & idx.trim(",") & ")")

 

运行后错误如下

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/7/30 23:19:34编辑过]

--  作者:有点甜
--  发布时间:2017/7/31 8:48:00
--  

If pdr(c).replace(" ","") <> dr(c).replace(" ", "") Then

 

改成

 

If pdr(c) <> dr(c) Then


--  作者:轩辕绝
--  发布时间:2017/7/31 18:52:00
--  
按照这个方法,修改代码
不行,整个表都空了。
请问怎么处理?
 
以下是引用有点甜在2017/7/31 8:48:00的发言:

If pdr(c).replace(" ","") <> dr(c).replace(" ", "") Then

 

改成

 

If pdr(c) <> dr(c) Then


--  作者:有点蓝
--  发布时间:2017/7/31 20:25:00
--  
直接比较不应该有问题,上传实例测试