对象在记录集中是打开错误 - MYSQL VBA

时间:2015-05-15 07:46:24

标签: mysql excel vba excel-vba

我在vba中有一个连接MySQL的代码。我的查询返回1M +记录并将其存储在记录集中。

sqlQuery = "SELECT * FROM tbl_name";
rst.Open strSql, mysqlConnection, adOpenStatic

起初,我只尝试了几条记录,但效果很好。但是,当我尝试1M +记录时,Is说对象是开放的。

我将如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我无法发表评论 - 因此必须将此作为答案。听起来你没有在第一次使用后关闭你的记录集和连接 - 所以它被你再次打开它们的请求搞糊涂了。

你需要一个如下声明:

rst.close
mysqlConnection.close

在显示的行中运行查询后。

如果你还没有关闭,你可能想在下面写下这些,然后再将它们移开。

道歉,如果你已经尝试过这个 - 但这让我感到震惊 原因和我最初使用ODBC对象时遇到的问题

答案 1 :(得分:0)

我的第一个代码是这样的:

Call MySqlConnectionOpen
sqlQuery = "SELECT * FROM tbl_name";
rst.Open sqlQuery, mysqlConnection, adOpenStatic
 ...copy records
rst.Close
Set rst=Nothing
Call MySqlConnectionClose
然后我将其改为:

Call MySqlConnectionOpen
sqlQuery = "SELECT * FROM tbl_name";
Set rst = MySqlConn.Execute(sqlQuery)
 ...copy records
rst.Close
Set rst=Nothing
call mysqlConnectionClose

幸运的是它有效。