首页 > 解决方案 > MS Excel 在 MySQL 数据库中的查询(通过使用 vba)期间停止工作

问题描述

连接到 MySQL 并执行数据库查询(通过 VBA)后,当我尝试将变量分配给结果集的元素时,Excel 崩溃。

一开始它工作得很好,但后来突然停止工作。Excel 2016. MySql 5.1.35 社区服务器 (GPL)

    Sub doSomething()

        call conectBD
        Dim cSQL as String
        Dim rstSet as RecordSet
        Dim myName as String

        cSQL = "SELECT name FROM tbNames WHERE id_name=3"
        Set rstSet = New ADOBD.Recordset

        rstSet.Open cSQL, conexao, adOpenStatic, adLockReadOnly
        myName = rstSet!name 'Excel crashes here'

        rstSet.Close
        Set rstSet = Nothing 

        call disconectBD
    end Sub

    'Connect to BD' 
    sub conectBD()
        Set conexao = New ADODB.Connection'Connection'
              conexao.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" _
                                & "SERVER=localhost;" _
                                & "DATABASE=DB;" _
                                & "UID=user;" _
                                & "PASSWORD=password"       
              conexao.Open 
    End sub

    'Disconnet to BD'
    sub disconectBD()
        conexao.close 
        set conexao = nothing
    end sub

我希望它像一开始那样工作。

标签: mysqlexcelvba

解决方案


推荐阅读