我在等待我的查询刷新时遇到问题,直到进一步执行代码。
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不是一个选项。
由于
答案 0 :(得分:1)
我用
解决了它Application.CalculateUntilAsyncQueriesDone
答案 1 :(得分:0)
Dim con As ODBCConnection
Set con = ThisWorkbook.Connections("ConnectionName").ODBCConnection
con.BackgroundQuery = False
con.Refresh