vba ODBC刷新

时间:2018-02-22 11:25:12

标签: excel vba odbc

我在等待我的查询刷新时遇到问题,直到进一步执行代码。

ThisWorkbook.Connections("ConnectionName").Refresh
Debug.Print ThisWorkbook.Connections("ConnectionName").ODBCConnection.refreshing 'Prints True
While ThisWorkbook.Connections("ConnectionName").ODBCConnection.refreshing
DoEvents
Wend
Debug.Print "updated"
[...]

似乎是ThisWorkbook.Connections(" ConnectionName")。ODBCConnection.refreshing永远不会变为false,因为在宏运行时数据连接没有完成。

我有另一个查询,具体取决于另一个查询的结果(第一个ODBC连接,然后UNION全部带有来自Excel的一些额外数据) 我无法阻止Excel查询运行时,因此BackgroundRefresh:False不是一个选项。

由于

2 个答案:

答案 0 :(得分:1)

我用

解决了它
Application.CalculateUntilAsyncQueriesDone

答案 1 :(得分:0)

Dim con As ODBCConnection
Set con = ThisWorkbook.Connections("ConnectionName").ODBCConnection
con.BackgroundQuery = False
con.Refresh