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


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

主题:删除重复项

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
删除重复项  发帖心情 Post By:2017/8/24 15:50: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("表A").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("表A").DeleteFor("_Identify In (" & idx.trim(",") & ")")


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

现在想通过删除重复项把第一列第二列的数据处理成第五列第六列的效果。

就是第一列相同的数据,第二列不能有重复的。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/24 16:39: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("表A").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("表A").DeleteFor("_Identify In (" & idx.trim(",") & ")")

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/25 9:59:00 [只看该作者]

我想在删除重复项内加一个消息提示框,比如提示此次共删除多少重复项这样的语句信息。代码要怎么去处理呀?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/25 10:08: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 = "第一列,第二列"
dim sum as integer = 0
For Each dr As DataRow In DataTables("表A").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") & ","
            sum += 1
        End If
    Else
        count += 1
    End If
    pdr = dr
Next
If count > 1 Then
    idx &= idx_temp
End If
DataTables("表A").DeleteFor("_Identify In (" & idx.trim(",") & ")")
msgbox("删除" & sum & "条")

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


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

消息提示框出来了,但是删除动作却没有实现,是因为什么?

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


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

以下是引用1186在2017/8/25 11:10:00的发言:
消息提示框出来了,但是删除动作却没有实现,是因为什么?

 

数据发上来测试。


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1.zip

生产工艺1表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/25 14:58: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 = "工单单号,工序"
Dim sum As Integer = 0
For Each dr As DataRow In DataTables("生产工艺1").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") & ","
            sum += 1
        End If
    Else
        count += 1
    End If
    pdr = dr
Next
If count > 1 Then
    idx &= idx_temp
End If
DataTables("生产工艺1").DeleteFor("_Identify In (" & idx.trim(",") & ")")
msgbox("删除" & sum & "条")

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


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

 


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

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170831103230.png
图片点击可在新窗口打开查看
代码发不出来,报这样的错误,是什么原因?

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


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


 回到顶部
总数 13 1 2 下一页