|
|||||||
Как связать таблицу из одной базы данных MS Access (*.mdb или *.accdb) с другой базой данных Access в VBA?
Время создания: 16.03.2019 23:43
Раздел: Разные закладки - VBA - Access - Link
Запись: xintrea/mytetra_db_adgaver_new/master/base/153160458110o4bsgy4n/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Как связать таблицу из одной базы данных MS Access (*.mdb или *.accdb) с другой базой данных Access в VBA? В основном я просто использовал VBA для репликации того, что делает мастер внешних данных. Я искал это, и я вижу много примеров того, как обновлять или перематывать таблицы и многие примеры связывания с базами данных SQL, но очень мало простых таблиц связывания между базами данных Access. 2 ответов Вы можете использовать DoCmd.TransferDatabase Method , чтобы создать ссылку на таблицу в другой базе данных Access. DoCmd.TransferDatabase TransferType:=acLink, _ DatabaseType:="Microsoft Access", _ DatabaseName:="C:\share\Access\Example Database.accdb", _ ObjectType:=acTable, _ Source:="Addresses", _ Destination:="Addresses_link" Я включил имена опций, надеясь, что будет легче отслеживать, какой из них является. Но если это слишком многословно, вы можете опустить имена опций и сделать все это на одной строке: DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\share\Access\Example Database.accdb", acTable , "Addresses", "Addresses_link"
6
ответ дан HansUp 28 апр. '16 в 0:14 источник поделиться
На самом деле это довольно просто: вы просто создаете новый tabledef и устанавливаете его свойство .connect в строку подключения ODBC, которая ссылается на другую базу данных Access. Private Function LinkTable(LinkedTableName As String, TableToLink As String, connectString As String) As Boolean Dim tdf As New dao.TableDef On Error GoTo LinkTable_Error With CurrentDb .TableDefs.Refresh Set tdf = .CreateTableDef(LinkedTableName) tdf.Connect = connectString tdf.SourceTableName = TableToLink .TableDefs.Append tdf .TableDefs.Refresh End With Set tdf = Nothing Конечная функция Строка подключения будет выглядеть примерно так (взято из connectionstrings.com ): Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;
2
ответ дан DataWriter 27 апр. '16 в 23:42 источник поделиться |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|