首页 > 解决方案 > 在单独的文件中拆分 Access 数据库

问题描述

我想将一个数据库的每个表导出到单独的 accdb 文件中,但我不明白。

使用以下代码 -> https://www.devhut.net/2012/09/27/ms-access-vba-export-database-objects-to-another-database/目标数据库必须已经存在。

如何为 table1 创建文件 table1.accdb 并仅将一个表导出到该数据库中?如果主数据库有 10 个表,则应创建 10 个文件,并且还应导出所属表。

标签: vbams-access

解决方案


方法如下:

Public Function ExportTables()

    Const Path      As String = "C:\Test\"

    Dim Workspace   As DAO.Workspace
    Dim Database    As DAO.Database
    Dim Table       As DAO.TableDef
    Dim Tablename   As String

    Set Workspace = DBEngine(0)

    For Each Table In CurrentDb.TableDefs
        If Table.Attributes = 0 Then
            ' This is a local table and not a system table.
            Tablename = Table.Name
            Set Database = Workspace.CreateDatabase(Path & Tablename, dbLangGeneral)
            DoCmd.TransferDatabase acExport, "Microsoft Access", Database.Name, acTable, Tablename, Tablename
            Debug.Print "Exported " & Tablename
        End If
    Next

End Function

推荐阅读