Foxtable(狐表)用户栏目专家坐堂 → [求助]merge后删除重复的数据


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

主题:[求助]merge后删除重复的数据

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]merge后删除重复的数据  发帖心情 Post By:2016/2/15 15:55:00 [只看该作者]

这是导入代码,是合并。并不会删除重复的条目。我希望,当导入后,检查生产订单号码和行号列,如果有重复的,就把最新的删除掉,只保留老的生产订单号码和行号的数据。
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ip As New Merger
    ip.SourcePath = dlg.FileName '指定数据文件
    ip.SourceTableName = "订单执行统计表$" '指定要导入的表    
    ip.DataTableName ="订单" '导入后的表名    
    ip.Format = "Excel" '指定导入格式
    ip.merge()
End If

DataTables("临时版本").save()
MessageBox.show("导入成功","提示商务助理",MessageBoxButtons.OK,MessageBoxIcon.Information)

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/15 16:03: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("", 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
    End If
    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
   
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

Tables("表A").filter = "_Identify not in (" & idx.trim(",") & ")"


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/15 16:04:00 [只看该作者]

你也可以编码合并啊。

 

http://www.foxtable.com/help/topics/2334.htm

 


 回到顶部