我正在尝试在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'
部分。
答案 0 :(得分:3)
持续从另一个Access数据库获取数据的最有效方法是使用链接表。
在功能区上单击External Data
,然后依次单击New Data Source
→From Database
→Access
浏览到源数据库,并确保选择Link to the data source by creating a linked table
选择一个或多个要链接的表
[
将创建链接表,您将能够查询链接表,就好像它们是当前数据库的本地表一样。
答案 1 :(得分:0)
也许您需要先定义一个Recordset或尝试删除示例中的引号?以下示例可以正常工作:
Dim rs as Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Field FROM Table IN 'here goes your path'")
现在您有了一个可以循环的rs()数组。