以文本方式查看主题

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

--  作者:wangyinming
--  发布时间:2015/2/8 17:26:00
--  [求助] 合并时删除重复行
我想合并导入excel数据,但是为了防止多次合并产生错误,1
1希望可以除去重复的行。
2希望合并完后有消息框
以上请版主指教

下面是合并的代码
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath =dlg.FileName \'指定数据文件
    mg.Format = "excel" \'指定格式
    mg.SourceTableName = "data$" \'指定要合并的表
    mg.DataTableName = "data汇总" \'指定接收数据的表
    mg.Merge() \'开始合并
End If

--  作者:黄训良
--  发布时间:2015/2/8 17:46:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=52855&replyID=&skin=1
--  作者:有点甜
--  发布时间:2015/2/8 19:03:00
--  

 merger无法排除重复行的。

 

 你需要用另一种方式合并数据,参考 http://www.foxtable.com/help/topics/2334.htm

 


--  作者:wangyinming
--  发布时间:2015/2/8 19:14:00
--  
那请问甜老师,可以单独设置控件代码去重吗?
--  作者:有点甜
--  发布时间:2015/2/8 19:30:00
--  
以下是引用wangyinming在2015/2/8 19:14:00的发言:
那请问甜老师,可以单独设置控件代码去重吗?

 

可以。参考

 

 

Dim i As Integer
For i  = DataTables("表A").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("表A").DataRows(i)
    Dim dr2 As DataRow = DataTables("表A").Find("第一列=\'" & dr("第一列") & "\' and 第二列=\'" & dr("第二列") & "\' and _Identify <> " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next


--  作者:wangyinming
--  发布时间:2015/2/8 19:42:00
--  
这个可以了,我把代码加在合并后面的,谢谢

可以知道数据是否导完了或者合并了多少条数据。

另外批量合并数据我的为什么不行呢,看看哪里错了。

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls" \'设置筛选器
\'dlg.MultiSelect = True   \'允许选择多个文件
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    \'For Each fl As String In dlg.FileNames
        mg.SourcePath =dlg.FileName \'指定数据文件
        mg.Format = "excel" \'指定格式
        mg.SourceTableName = "data$" \'指定要合并的表
        mg.DataTableName = "data汇总" \'指定接收数据的表
        mg.Merge() \'开始合并
    \'Next
End If

--  作者:有点甜
--  发布时间:2015/2/8 19:48:00
--  

 6楼的代码没有问题。

 

 如果要的都合并了多少条数据,可以在合并前,查询表有多少行数据,合并后,再查询有多少行数据。

[此贴子已经被作者于2015/2/8 19:47:57编辑过]

--  作者:wangyinming
--  发布时间:2015/2/8 21:29:00
--  
如何写代码,求教

找了帮助没有找到

--  作者:有点甜
--  发布时间:2015/2/8 21:32:00
--  
 DataTables("表A").DataRows.Count
--  作者:wangyinming
--  发布时间:2015/2/8 21:35:00
--  
怎么在消息框中显示该数据