在VBA Access中运行连接到另一个数据库的查询

时间:2018-11-16 09:46:18

标签: sql vba ms-access access-vba

我正在尝试在VBA Access中运行保存的查询。该查询已连接到另一个数据库,如下所示:

SELECT * FROM TABLE IN 'C:\USERS\Another_database.accdb'

此查询在第一个Access数据库中另存为“ My_query”。 VBA代码如下所示:

Function My_function()
     Set rst = CurrentDb.OpenRecordset("My_query", dbOpenDynaset)
End Function

当我尝试运行它时,出现错误:

  

运行时错误'3219'

任何想法为何?它适用于普通查询(无IN 'C:\USERS\Another_database.accdb'部分。

2 个答案:

答案 0 :(得分:3)

持续从另一个Access数据库获取数据的最有效方法是使用链接表

  • 在功能区上单击External Data,然后依次单击New Data SourceFrom DatabaseAccess
    img1

  • 浏览到源数据库,并确保选择Link to the data source by creating a linked table
    img2

  • 选择一个或多个要链接的表
    [img3

将创建链接表i,您将能够查询链接表,就好像它们是当前数据库的本地表一样。


更多信息:

答案 1 :(得分:0)

也许您需要先定义一个Recordset或尝试删除示例中的引号?以下示例可以正常工作:

Dim rs as Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Field FROM Table IN 'here goes your path'")

现在您有了一个可以循环的rs()数组。