Foxtable(狐表)用户栏目专家坐堂 → [求助]重复行,去重的问题。


  共有2127人关注过本帖平板打印复制链接

主题:[求助]重复行,去重的问题。

帅哥哟,离线,有人找我吗?
轩辕绝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:71 积分:757 威望:0 精华:0 注册:2017/5/31 20:05:00
[求助]重复行,去重的问题。  发帖心情 Post By: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编辑过]

 回到顶部