You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA代码翻译与技术咨询:ADODB连接Excel查询数据代码解析

VBA代码中文翻译与技术解析

原代码

Sub testing()
    Dim cn As Object, rs As Object, output As String, sql As String, qt As QueryTable, bookSheet As Object, sqlstring As String
    Set cn = CreateObject("ADODB.Connection")
    With cn
        .Provider = "Microsoft.ACE.OLEDB.12.0"
        .ConnectionString = "Data Source=" & "I:\Desktop" & "\" & "WebPropertiesSummaryQuery.xlsm" & ";" & _
                            "Extended Properties=""Excel 12.0 Xml;HDR=YES"";
        .Open
    End With
    sql = "SELECT * FROM [Sheet2$] WHERE Rating = 'WBS PWT'"
    Set rs = New ADODB.Recordset
    ...
End Sub

中文翻译版(保留技术术语与代码结构)

Sub 测试程序()
    ' 声明变量:数据库连接对象、记录集对象、输出字符串、SQL语句字符串、查询表对象、工作表对象、SQL字符串
    Dim cn As Object, rs As Object, output As String, sql As String, qt As QueryTable, bookSheet As Object, sqlstring As String
    ' 创建ADODB数据库连接实例
    Set cn = CreateObject("ADODB.Connection")
    ' 配置连接对象参数
    With cn
        ' 指定OLEDB驱动程序为Microsoft ACE OLEDB 12.0
        .Provider = "Microsoft.ACE.OLEDB.12.0"
        ' 设置连接字符串:指定数据源为I盘桌面的WebPropertiesSummaryQuery.xlsm文件,
        ' 扩展属性声明为Excel 12.0 Xml格式,且第一行是表头(HDR=YES)
        .ConnectionString = "Data Source=" & "I:\Desktop" & "\" & "WebPropertiesSummaryQuery.xlsm" & ";" & _
                            "Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
        ' 打开数据库连接
        .Open
    End With
    ' 编写SQL查询语句:从Sheet2工作表中查询所有Rating字段等于'WBS PWT'的记录
    sql = "SELECT * FROM [Sheet2$] WHERE Rating = 'WBS PWT'"
    ' 创建新的ADODB记录集实例,用于存储查询结果
    Set rs = New ADODB.Recordset
    ...
End Sub

技术解析

  • 变量声明部分:一次性声明了多个适配后续操作的变量,涵盖连接对象、记录集对象、SQL语句容器等,提前为数据访问流程做好资源准备。
  • ADODB连接创建:通过CreateObject("ADODB.Connection")实例化OLEDB连接对象,这是VBA中实现Excel、Access等外部数据访问的核心组件。
  • 连接参数配置
    • .Provider指定驱动为Microsoft.ACE.OLEDB.12.0,该驱动支持访问Excel 2007及以上版本的.xlsx/.xlsm格式文件,兼容性较强。
    • .ConnectionString里的HDR=YES表示将Excel工作表的第一行识别为字段名而非数据行;Excel 12.0 Xml对应xlsm这类带宏的Excel格式,确保驱动能正确解析文件结构。
    • .Open指令执行后,便建立了程序与目标Excel文件的有效通信链路。
  • SQL查询语句:用标准SQL语法指定查询规则,[Sheet2$]是OLEDB访问Excel工作表的标准引用格式,WHERE子句精准筛选出Rating字段值为WBS PWT的记录。
  • 记录集初始化:Set rs = New ADODB.Recordset创建的记录集对象,后续可通过rs.Open sql, cn执行查询并存储结果,方便后续遍历、提取或导出数据。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:10:54