溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

VBA_輸出SQL查詢(xún)數(shù)據(jù)

發(fā)布時(shí)間:2020-07-13 19:50:15 來(lái)源:網(wǎng)絡(luò) 閱讀:1819 作者:1097981 欄目:數(shù)據(jù)庫(kù)
Option Explicit

Sub 輸出數(shù)據(jù)表(strSql As String, Work As String) '傳值處理
'''''''''''''''''''''''''''''''''''''''''''
Dim data As New 數(shù)據(jù)庫(kù)
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數(shù)據(jù)庫(kù)
'循環(huán)查詢(xún)到的列名,把列名的數(shù)量定義循環(huán)。
rs.Open strSql, cn '執(zhí)行strSQL所含的SQL命令,結(jié)果保存在rs記錄集對(duì)象中

i = 0
Lm = rs.Fields.Count '列名的數(shù)量定義
While i < Lm
    sht.Cells(2, i + 1) = rs.Fields(i).Name '列名讀取
    i = i + 1 'i加1,準(zhǔn)備把下一記錄相關(guān)字段的值保存到工作表的下一行
Wend
rs.Close '關(guān)閉記錄集
'''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''
'循環(huán)數(shù)據(jù)表
rs.Open strSql, cn '執(zhí)行strSQL所含的SQL命令,結(jié)果保存在rs記錄集對(duì)象中
i = 3
    Do While Not rs.EOF
        h = 1
        While h - 1 < Lm '當(dāng)數(shù)據(jù)指針未移到記錄集末尾時(shí),循環(huán)下列操作
            sht.Cells(i, h) = rs(rs.Fields(h - 1).Name) '把當(dāng)前字段2的值保存到sheet1工作表的第i行第2列
            h = h + 1
        Wend
        rs.MoveNext '把指針移向下一條記錄
        i = i + 1
    Loop
rs.Close '關(guān)閉記錄集


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI