首页 > 数据库 > mysql教程 > 如何修复Excel VBA访问SQL数据库时出现'运行时错误3704:对象关闭时不允许操作”?

如何修复Excel VBA访问SQL数据库时出现'运行时错误3704:对象关闭时不允许操作”?

Mary-Kate Olsen
发布: 2025-01-01 01:06:11
原创
397 人浏览过

How to Fix

在 Excel-VBA 中访问 SQL 数据库:解决错误 3704

针对“运行时错误 3704:操作”的查询使用 VBA 将数据从 SQL 数据库复制到 Excel 工作表时遇到“对象关闭时不允许”,提供的答案建议如下修改:

修改的代码片段:

Sub GetDataFromADO()
    'Declare variables'
        Set objMyConn = New ADODB.Connection
        Set objMyRecordset = New ADODB.Recordset
        Dim strSQL As String

    'Open Connection'
        objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
        objMyConn.Open

    'Set and Execute SQL Command'
        strSQL = "select * from myTable"

    'Open Recordset'
        Set objMyRecordset.ActiveConnection = objMyConn
        objMyRecordset.Open strSQL

    'Copy Data to Excel'
        ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)

End Sub
登录后复制

所做的更改:

  • 初始目录添加: 连接字符串现在使用“初始目录”进行初始化参数,指定要访问的数据库。
  • 简化的 SQL 命令: 不使用 ADODB.Command,而是创建一个简单的 SQL 语句(strSQL)并直接用于打开记录集。
  • 简化的字段分配:用于分配字段值的“Fields[”FieldName].Value”格式为已删除。

通过实施这些修改,记录集关闭的问题得到解决,从而可以成功检索数据并将其复制到 Excel 工作表。

以上是如何修复Excel VBA访问SQL数据库时出现'运行时错误3704:对象关闭时不允许操作”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板