以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  一次合并多个MDB文件中多个工作表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161702)

--  作者:天宇科技
--  发布时间:2021/3/27 13:56:00
--  一次合并多个MDB文件中多个工作表
以下代码,可以一次合并多个mdb文件,但我想一次性合并多个MDB文件中的多个表,行吗?
比如一次合并商品库、信息设置库、管理人员库。


Dim dlg As New OpenFileDialog
dlg.Filter = "Access文件|*.mdb"
dlg.MultiSelect = True \'允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "商品库"
        mg.DataTableName = "商品库"
        mg.Merge()
    Next
End If


--  作者:天宇科技
--  发布时间:2021/3/27 14:02:00
--  
如果把这段代码复制三次,会打开 三次对话框,不好。
--  作者:天宇科技
--  发布时间:2021/3/27 14:09:00
--  
像这样,应该可以解决。
Dim dlg As New OpenFileDialog
dlg.Filter = "Access文件|*.mdb"
dlg.MultiSelect = True \'允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As  New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "商品库"
        mg.DataTableName = "商品库"
        mg.Merge()
    Next
    
    For Each f2 As String In dlg.FileNames
        Dim mg As  New Merger
        mg.SourcePath = f2
        mg.SourceTableName = "员工信息"
        mg.DataTableName = "员工信息"
        mg.Merge()
    Next
    
End If
[此贴子已经被作者于2021/3/27 14:10:03编辑过]

--  作者:有点蓝
--  发布时间:2021/3/27 14:13:00
--  
Dim dlg As New OpenFileDialog
dlg.Filter = "Access文件|*.mdb"
dlg.MultiSelect = True \'允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As  New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "商品库"
        mg.DataTableName = "商品库"
        mg.Merge()

        mg =  New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "员工信息"
        mg.DataTableName = "员工信息"
        mg.Merge()
    Next
    
End If

--  作者:天宇科技
--  发布时间:2021/3/27 18:45:00
--  
解决问题,谢谢蓝版