温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

VBA_输出SQL查询数据

发布时间:2020-07-13 19:50:15 来源:网络 阅读:1814 作者:1097981 栏目:数据库
Option Explicit

Sub 输出数据表(strSql As String, Work As String) '传值处理
'''''''''''''''''''''''''''''''''''''''''''
Dim data As New 数据库
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sht As Worksheet
Dim i As Integer
Dim Lm As Integer
Dim h As Integer
Set sht = ThisWorkbook.Worksheets(Work)
cn.Open data.SQL数据库
'循环查询到的列名,把列名的数量定义循环。
rs.Open strSql, cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中

i = 0
Lm = rs.Fields.Count '列名的数量定义
While i < Lm
    sht.Cells(2, i + 1) = rs.Fields(i).Name '列名读取
    i = i + 1 'i加1,准备把下一记录相关字段的值保存到工作表的下一行
Wend
rs.Close '关闭记录集
'''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''
'循环数据表
rs.Open strSql, cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
i = 3
    Do While Not rs.EOF
        h = 1
        While h - 1 < Lm '当数据指针未移到记录集末尾时,循环下列操作
            sht.Cells(i, h) = rs(rs.Fields(h - 1).Name) '把当前字段2的值保存到sheet1工作表的第i行第2列
            h = h + 1
        Wend
        rs.MoveNext '把指针移向下一条记录
        i = i + 1
    Loop
rs.Close '关闭记录集


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI