2016-11-23 65 views
0

我正在使用Access數據庫作爲MySQL的後端。爲了節省時間和查詢時間,我希望MySQL-Server能夠並行運行這些查詢。從MS Access通過ODBC查詢MySQL VBA:ADODB異步執行不起作用

目前我無法告訴VBA異步發送它們。我的代碼是這樣的:

Do While ... 
    Dim rs_newRecordSet As ADODB.Recordset 
    Set rs_newRecordSet = New ADODB.Recordset 
    rs_newRecordSet.Open Ext_TranslateQuery(str_query), Ext_Connection, , , adAsyncExecute 
Loop 
的待辦事項中

因此,儘管循環數查詢通過與選項adAsyncExecute一個記錄打開。查詢全部是INSERT INTO ... SELECT FROM-Queries,所以我不希望記錄集返回任何內容。

現在的問題是,即使指定了adAsyncExecute-Option,VBA似乎也要等到Recordset.Open-Command完成。此外,如果我在mysql模式上運行顯示進程列表,我只看到一個線程與INSERT INTO ...-查詢。

爲什麼VBA等待查詢的執行,我該如何改變這個問題?

非常感謝 巴斯蒂安

+1

您不應該將rs.Open用於操作查詢。請改用'conn.Execute'。 – Parfait

+0

或者更好,創建一個'ADODB.Command'和'.Execute'。 –

+0

謝謝,切換到ADODB.Command – Bastian

回答