База данных Split Access в отдельных файлах - PullRequest
0 голосов
/ 19 сентября 2019

Я хочу экспортировать каждую таблицу из одной базы данных в отдельные файлы accdb, но не получаю ее.

С помощью следующего кода -> https://www.devhut.net/2012/09/27/ms-access-vba-export-database-objects-to-another-database/ целевая база данных уже должна существовать.

Как я могу создать, например, для table1 файл table1.accdb и экспортировать только одну таблицу в эту базу данных?Если в основной базе данных имеется 10 таблиц, необходимо создать 10 файлов и экспортировать соответствующую таблицу.

Ответы [ 2 ]

1 голос
/ 20 сентября 2019

Вот как:

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
0 голосов
/ 20 сентября 2019

Вот код для создания базы данных

Private Sub CreateDatabase(nameOfDatabase As String)
On Error Resume Next
 Dim accessApp As Access.Application
   Set accessApp = New Access.Application
   accessApp.DBEngine.CreateDatabase nameOfDatabase & ".accdb", DB_LANG_GENERAL
   accessApp.Quit
   Set accessApp = Nothing

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...