如何将表从一个MS Access数据库(* .mdb或* .accdb)链接到VBA中的另一个Access数据库?
基本上我只是使用VBA来复制外部数据向导所做的事情。
我已经搜索了这个,我看到了很多关于如何更新或重新链接表的示例以及许多链接到SQL数据库的示例,但很少有Access数据库之间的简单链接表。
答案 0 :(得分:11)
您可以使用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"
答案 1 :(得分:3)
实际上非常简单 - 您只需创建一个新的tabledef并将其.connect属性设置为链接到其他Access数据库的ODBC连接字符串。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:name="YOUR_PACKAGE_NAME.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="YOUR_PACKAGE_NAME.permission.C2D_MESSAGE" />
连接字符串看起来像这样(取自connectionstrings.com):
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