Ms access 通过vba链接两个Microsoft Access表
我正在尝试链接不同数据库中的两个表。我所做的是创建一个新表,然后尝试将DESCRIPTION属性更改为另一个数据库中特定表的路径Ms access 通过vba链接两个Microsoft Access表,ms-access,vba,Ms Access,Vba,我正在尝试链接不同数据库中的两个表。我所做的是创建一个新表,然后尝试将DESCRIPTION属性更改为另一个数据库中特定表的路径 Set dbs = CurrentDb thepath = "DATABASE=P:\Cadworx P&ID Implementation\3 Piping\P&IDs Jesus Test\Testproject\myTest.mdb;TABLE=Service" Set tdf = dbs.TableDefs("ThisTable") On
Set dbs = CurrentDb
thepath = "DATABASE=P:\Cadworx P&ID Implementation\3 Piping\P&IDs Jesus Test\Testproject\myTest.mdb;TABLE=Service"
Set tdf = dbs.TableDefs("ThisTable")
On Error Resume Next
tdf.Properties("Description") = "DATABASE=P:\Cadworx P&ID Implementation\3 Piping\P&IDs Jesus Test\Testproject\myTest.mdb;TABLE=Service"
If Err.Number = 3270 Then
Set prp = tdf.CreateProperty("Description", _
dbText, thepath)
tdf.Properties.Append prp
End If
这并没有给我想要的结果,因为链接从未建立。谁能告诉我这是正确的方法还是有更好的方法?感谢您的帮助。使用Access内置功能,您可以相当轻松地从其他Access数据库链接到表 根据您使用的Access版本,应该有一个选项可以导入/链接到其他数据源,包括另一个Access数据库: 这将启动导入/链接向导。浏览到要链接到的数据库文件: 指定是否要导入或链接到浏览到的数据库文件中的数据对象(在本例中为链接): 选择要链接到的对象: 链接对象将显示在导航窗格中,并带有蓝色箭头,表示它们是链接对象,而不是本地存储到当前数据库中的对象:
然后,您应该能够像使用数据库中的任何其他类型的表一样使用链接表。以下是问题的解决方案
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim strDbFile As String
Dim strConnect As String
Dim strSourceTableName As String
Dim strLinkName As String
Dim f As Object
Dim varfile As Variant
Set f = Application.FileDialog(3) 'Windows Explorer, 3 means file picker. 4 Is for folder, 1 to open dialog box, 2 to save as
f.show 'Show Windows explorer
With f
f.allowmultiselect = False
For Each varfile In .selecteditems
strDbFile = varfile 'File selected assigned to source database file
Next
End With
strSourceTableName = "Service" 'Source Table
strLinkName = "Service" 'Final table name once link has been established
strConnect = "MS Access;PWD=" & strPassword & ";DATABASE=" & strDbFile
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef
tdf.Connect = strConnect 'Establish link between databases
tdf.SourceTableName = strSourceTableName
tdf.Name = strLinkName
dbs.TableDefs.Append tdf
正如古斯塔夫所说,解决办法是按照他发布的内容。我是新手,所以我不知道DAO库是什么。无论如何,谢谢你的帮助 描述没有什么,真的与你的问题描述无关!思科,我明白。有什么方法可以做到我想做的吗?如果你只搜索那么一点点,你可能会发现,所以我投票决定关闭。Matt,谢谢你的回答,但我想在userform中这样做,用户可以选择源数据库文件,然后为他做一切。我可以通过VBA来完成。