Foxtable(狐表)用户栏目专家坐堂 → 清除重复项


  共有1760人关注过本帖树形打印复制链接

主题:清除重复项

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
清除重复项  发帖心情 Post By:2017/8/10 16:46:00 [只看该作者]

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("工单单号 is not null", cs)
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) 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
DataTables("生产主计划").DeleteFor("_Identify In (" & idx.trim(",") & ")")

 

 

现有排重代码如上。

两条数据相同的工单单号,一条“生管人员”字段有值,一条没有值,优先取有值的。如果两条都没值,随机取一条。

这个要怎么写代码?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/10 17:07:00 [只看该作者]

 

For Each dr As DataRow In DataTables("生产主计划").Select("工单单号 is not null", cs & ",生管人员 desc")


 回到顶部