Mar*_*ark 10 ms-access ms-access-2007 access-vba linked-tables ms-access-2010
如何将表从一个MS Access数据库(*.mdb或*.accdb)链接到VBA中的另一个Access数据库?
基本上我只是使用VBA来复制外部数据向导的功能.
我用谷歌搜索了这个,我看到了很多关于如何更新或重新链接表的示例以及链接到SQL数据库的许多示例,但很少有Access数据库之间的简单链接表.
Han*_*sUp 11
您可以使用DoCmd.TransferDatabase方法创建指向另一个Access数据库中的表的链接.
DoCmd.TransferDatabase TransferType:=acLink, _
DatabaseType:="Microsoft Access", _
DatabaseName:="C:\share\Access\Example Database.accdb", _
ObjectType:=acTable, _
Source:="Addresses", _
Destination:="Addresses_link"
Run Code Online (Sandbox Code Playgroud)
我包含了选项名称,希望能够更容易地跟踪哪个选项.但是,如果这看起来过于冗长,您可以省略选项名称并在一行中完成所有操作:
DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\share\Access\Example Database.accdb", acTable , "Addresses", "Addresses_link"
Run Code Online (Sandbox Code Playgroud)
这实际上非常简单——您只需创建一个新的 tabledef 并将其 .connect 属性设置为链接到其他 Access 数据库的 ODBC 连接字符串。
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
End Function
Run Code Online (Sandbox Code Playgroud)
连接字符串看起来像这样(取自connectionstrings.com):
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28498 次 |
| 最近记录: |