Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Excel意外从Access查询打开另一个链接的Excel_Sql_Ms Access - Fatal编程技术网

Sql Excel意外从Access查询打开另一个链接的Excel

Sql Excel意外从Access查询打开另一个链接的Excel,sql,ms-access,Sql,Ms Access,我创建了一个Access查询,从链接的Excel文件(TableA)中选择数据,如下所示 accQuery: SELECT C.item1, C.item2 FROM (SELECT A.A1 AS item1, B.B1 AS item2 FROM TableA AS A LEFT JOIN TableB AS B ON A.check = B.check) AS C WHERE C.item1 = 'C' 然后在另一个Excel文件中,我在工作表中设置此查询,以从链接表中获取查询结果

我创建了一个Access查询,从链接的Excel文件(TableA)中选择数据,如下所示

accQuery:

SELECT C.item1, C.item2 
FROM (SELECT A.A1 AS item1, B.B1 AS item2 FROM TableA AS A LEFT JOIN TableB AS B ON A.check = B.check) AS C 
WHERE C.item1 = 'C'
然后在另一个Excel文件中,我在工作表中设置此查询,以从链接表中获取查询结果,并在
Workbook\u Open()
事件中调用
RefreshAll
函数

最后,我使用命令行程序打开Excel,等待查询完成(通过
CalculateUntilAsyncQueriesDone
函数),然后保存并关闭。昨天,所有程序运行良好;但是今天,当我再次执行该程序时,由于表格的原因,它在那里没有错误地挂起,一个Excel文件被意外打开

有人知道如何避免在SQL查询中打开非目标Excel文件吗?
(如果我在命令行程序中刷新查询,症状将不会出现;但我只想知道是否有其他方法可以避免这种情况)

Hi-我不清楚在谈论从一个Excel工作簿到另一个工作簿获取数据时,为什么要提到Access。你是说Power Query吗?不,我在Access中设置了一个查询,然后将其链接到Excel文件中;但是Excel需要刷新链接查询以获取最新数据,因此我将
refreshAll
函数放在Excel
Workbook\u Open()
事件中。即使我只使用这两个文件,当调用事件时,Excel将打开另一个Excel文件,该文件位于Access查询中的列表中。对不起,我要澄清我的问题:如果您只使用Excel功能就可以很容易地将数据从一个Excel工作簿获取到另一个Excel工作簿(并且不打开第一个工作簿),为什么要使用Access?如果这是您没有描述的某个更大流程的一部分,那么我们可能需要知道整个流程是什么,以便希望提供一个可行的解决方案。是的,访问被用作间接访问数据的数据中心,很抱歉,没有描述清楚。最终Excel将链接到Access SQL查询的临时结果,该查询将使用Excel工作表或Access数据表来形成结果。问题是使用相同的Access SQL查询,通过调用
refreshAll
函数在Excel中执行,Excel将打开用于形成临时结果的工作簿;但在Access中执行时,Excel将不会打开。