美文网首页胖达君的超级工具
Excel中通过ADO执行SQL

Excel中通过ADO执行SQL

作者: 五维思考 | 来源:发表于2022-04-07 15:44 被阅读0次

    VBA执行SQL语句有一个固定的套路:

    1. 绑定ADO
    2. 连接数据源
    3. 设置查询语句,并执行
    4. 写入查询结果
    5. 关闭连接释放资源

    参考代码如下:

    Sub ExecSql()
        Dim cnn As Object, rst As Object
        Dim strPath As String, str_cnn As String, strSQL As String
        Dim i As Long
        '第一步:后期绑定ADO
        Set cnn = CreateObject("adodb.connection")
        strPath = ThisWorkbook.FullName
        '设置当前工作簿为数据源
        If Application.Version < 12 Then
            str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & strPath
        Else
            str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strPath
        End If
        '第二步:建立链接
        cnn.Open str_cnn
        strSQL = "SELECT 姓名,成绩 FROM [Sheet1$] WHERE 成绩>=80"
        '第三步:执行SQL语句,得到记录集rst
        Set rst = cnn.Execute(strSQL)
        '选中存放结果的工作表
        Worksheets("结果表").Select 
        Cells.ClearContents '清空值
        For i = 0 To rst.Fields.Count - 1
            '利用fields属性获取所有字段名
            Cells(1, i + 1) = rst.Fields(i).Name
        Next
        '第四步:将rst内容复制到D2单元格为左上角的单元格区域
        Range("a2").CopyFromRecordset rst
        '第五步:关闭链接
        cnn.Close
        Set cnn = Nothing '释放内存
    End Sub
    

    相关文章

      网友评论

        本文标题:Excel中通过ADO执行SQL

        本文链接:https://www.haomeiwen.com/subject/ydqssrtx.html