国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Excel2007 VBA SQL代碼解析 from Excelhome
Sub Example()
    Dim cnn As ADODB.Connection
    Set cnn = New ADODB.Connection
    '創(chuàng)建連接設(shè)置字符串,用OLEDB方式連接
    Dim lian As String
    lian = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;" _
                            & "HDR=yes;" _
                            & "IMEX=2';" _
                            & "Data Source=" & ThisWorkbook.FullName
       'HDR=Yes,代表 Excel 檔中的工作表第一行是標(biāo)題欄,No,代表 Excel 檔中的工作表無標(biāo)題行
       'IMEX 匯入模式  0 只讀  1 只寫   2 可讀寫
       'Data Source  存儲查詢數(shù)據(jù)來源的工作薄名稱
       'Provider 連接方式或連接提供程序  Extended Properties 連接方式的擴(kuò)展屬性、證書
       'Extended Properties='Excel 12.0  ---EXECL 2007
       'Extended Properties='Excel 8.0  ---EXECL 2003
    cnn.Open lian
        '    ' 創(chuàng)建連接設(shè)置字符串,用ODBC方式打開連接.
        '    Dim lian As String
        '    lian = "Driver={Microsoft Excel Driver(*.xls,*xlsx,*.xlsm,*xlsb)};" _
        '                     & "ReadOnly=False;" _
        '                     & "DBQ=" & ThisWorkbook.FullName'
        '         'driver ODBC連接驅(qū)動屬性
        '         'ReadOnly 相當(dāng)于IMEX屬性
        '         'DBQ 連接數(shù)據(jù)源
        '    con.Open lian
        
            ' 檢查是否完成連接
        '    If cnn.State = adStateOpen Then
        '       'cnn.State -->adstratclosed 關(guān)閉狀態(tài)  adstartopen  打開狀態(tài)
        '                 'adstartconnecting 連接中     adstartexecuting   執(zhí)行命令中
        '        MsgBox "Welcome to Pubs!"
        '    Else
        '        MsgBox "Sorry. No Pubs today."
        '    End If
    '關(guān)閉connection對象
    cnn.Close
    '銷毀連接
    Set cnn = Nothing
   
    '設(shè)置SQL命令的字符串
    Dim SqlCommandStr As String
    SqlCommandStr = "SELECT top 10 存貨編碼 from [主材匯總$] "
   
    '[主材匯總$]--連接數(shù)據(jù)源中的具體表名,可指定具體的range,直接跟在表名后即可 ,也可使用在表中定義的名稱
    '如果設(shè)置第一行為標(biāo)題,則可直接使用第一行數(shù)據(jù)為字段名
    'SqlCommandStr = "SELECT 存貨名稱 from [主材匯總$A1:M100] where 存貨編碼='A01020506001500200'"
   
    '執(zhí)行SQl命令
      'A、不要返回值
    'cnn.Execute SqlCommandStr
        '   Execute方法: Execute <SQL命令文本>,[recordsaffected 查詢作用范圍],[options 參數(shù)選項]
        '   [recordsaffected 查詢作用范圍] 如:1NumAffected  僅第一條記錄
        '   [options 參數(shù)選項] -- SQL命令類型 or 執(zhí)行方式
        '    SQL命令類型:
        '           adcomdtext:     原始 SQL字符串
        '           adcomdtable:    表的名稱,向連接提供驅(qū)動提供類似 SELECT * from_name的語句
        '           adcmdstoreproc: 存儲過程
        '           adcmdtabledirect:表名,不同于table的是不會產(chǎn)生類似 SELECT * from_name的SQL語句
        '   SQL命令執(zhí)行方式:
        '           adasyncexecute:   異步執(zhí)行命令,立即執(zhí)行代碼
        '           adexecutenorecords: 不構(gòu)建recoredset對像
        '       如:adcmdtext or adexecutenorecords
      'B、需要返回值
     Dim jilu As ADODB.Recordset
     Set jilu = New ADODB.Recordset
     jilu.Open SqlCommandStr, lian
        '   open方法:open <SQL命令文本或數(shù)據(jù)源>,<activeconnection>,[cursortype],[locktype],[options 參數(shù)選項]
        '   <activeconnection> 指定用于查詢的連接設(shè)置,可以O(shè)PEN方法以前將一個字符串賦值給Recordset的activeconnection屬性,那么該記錄集則自動產(chǎn)生
        '      一個connection對像
        '   [cursortype]  打開記錄集時的數(shù)據(jù)指針類型:默認(rèn)值為adopenforwardonly
        '            adopenforwardonly-->只能向下移動且不能修改,常規(guī)查詢
        '            adopenstatic   -->靜態(tài)指針,用于脫機(jī)記錄集,允許完全操作
        '             此參數(shù)不同于OPEN方法之前設(shè)置的Recordset的cursorlocation屬性(規(guī)定recordset使用的數(shù)據(jù)指針類型:
        '                                           aduserclient --客戶端數(shù)據(jù)指針
        '                                           aduseserver-- 服務(wù)器端數(shù)據(jù)指針,默認(rèn)值)
        '   [locktype]  打開記錄時的數(shù)據(jù)源鎖定類型:
        '        adlockreadonly:常規(guī)查詢使用,鎖定源記錄
        '        adlockbatchoptimistic:脫機(jī)記錄集使用,開放式批量更新
        '   [options 參數(shù)選項] -- SQL命令類型 or 執(zhí)行方式   connection對象的Execute方法設(shè)置相同
    Do While Not jilu.EOF  '如果指針不是未尾則表示記錄內(nèi)有數(shù)據(jù)
    'EOF --指針位于記錄集最后一條記錄之后  BOF --指針位于記錄集第一條記錄之前(Recordset對象的屬性)
       MsgBox jilu.Fields(0).Value
       'Fields對象:記錄集所包括的所有字段,帶有Name,Item,Value等屬性與Append等方法
       jilu.MoveNext
       'Move方法:
       '    MoveFirst:移動到第一條記錄
       '    MoveLast: 移動最后一條記錄
       '    MoveNext:移動到下一條記錄
    Loop
    jilu.Filter = "存貨編碼 like 'A0202*'"
      '.Filter屬性:對記錄按一定條件進(jìn)行選擇過濾但不刪除數(shù)據(jù),將過濾條件設(shè)置為空則恢復(fù)所有數(shù)據(jù),多個條件可以使用邏輯運(yùn)算符進(jìn)行聯(lián)接
    Do While Not jilu.EOF
       MsgBox jilu.Fields(0).Value
    Loop
   
    '關(guān)閉Recordset
    jilu.Close
    '銷毀Recordset
    Set jilu = Nothing
End Sub
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
第九章 VB的數(shù)據(jù)庫操作
VB連接數(shù)據(jù)庫方式匯總
Excel 163種使用技巧(101-110)
Excel VBA ADO SQL入門教程024:初識Recordset對象
如何使用VB讀寫Excel檔? (Visual BASIC) (Excel)
[收藏]Asp 與access數(shù)據(jù)庫連接及基本操作
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服