2016-11-23 70 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

回答