• VBA:Excel使用SQL进行查询


    Sub Query()
        Dim Conn As Object, Rst As Object
        Dim strConn As String, strSQL As String
        Dim i As Integer, PathStr As String
        Set Conn = CreateObject("ADODB.Connection")
        Set Rst = CreateObject("ADODB.Recordset")
        PathStr = ThisWorkbook.FullName   '设置工作簿的完整路径和名称
        Select Case Application.Version * 1    '设置连接字符串,根据版本创建连接
        Case Is <= 11
            strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr
        Case Is >= 12
            strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""
        End Select
        '设置SQL查询语句
        strSQL = "SELECT DISTINCT 发站 FROM [LMSData2016.12$]"
        Conn.Open strConn    '打开数据库链接
        Set Rst = Conn.Execute(strSQL)    '执行查询,并将结果输出到记录集对象
        With Sheet1
            .Cells.Clear
            For i = 0 To Rst.Fields.Count - 1    '填写标题
                .Cells(1, i + 1) = Rst.Fields(i).Name
            Next i
            .Range("A2").CopyFromRecordset Rst
            .Cells.EntireColumn.AutoFit  '自动调整列宽
        End With
        Rst.Close    '关闭数据库连接
        Conn.Close
        Set Conn = Nothing
        Set Rst = Nothing
    End Sub
  • 相关阅读:
    npm install --save
    ajax总结
    javascript学习资料
    前端工具学习资料
    php学习资料
    Bootstrap学习资料
    css学习资料
    Express搭建一个Node项目
    网站性能优化
    POJ 1862 Stripies【哈夫曼/贪心/优先队列】
  • 原文地址:https://www.cnblogs.com/zhaoshujie/p/9594703.html
Copyright © 2020-2023  润新知