一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Excel VBA ADO連接ACCESS數(shù)據(jù)庫(kù)

 昵稱(chēng)2548375 2018-09-18
一、ACCESS數(shù)據(jù)庫(kù)加密
1、ACCESS 2013數(shù)據(jù)庫(kù)加密方式
(1)使用舊版加密(適用于反向兼容和多用戶(hù)數(shù)據(jù))
(2)使用默認(rèn)加密(安全性較高)
ADO連接僅支持舊版加密,使用VBA代碼動(dòng)態(tài)創(chuàng)建帶密碼的Access 數(shù)據(jù)庫(kù)文件,也是舊版加密。
2、數(shù)據(jù)庫(kù)如果采用手工設(shè)置密碼,則要設(shè)置為舊版加密方式:
打開(kāi)ACCESS 2013—Access選項(xiàng)—客戶(hù)端設(shè)置—加密方法--使用舊版加密(適用于反向兼容和多用戶(hù)數(shù)據(jù))
二、設(shè)置ADO連接ACCESS數(shù)據(jù)庫(kù)方式一
(1)引用 Microsoft ActiveX Data Objects 2.x Library(操作方式:Visual Basic-工具-引用,不同office版本不同)
  說(shuō)明:當(dāng)未引用,運(yùn)行后會(huì)顯示“用戶(hù)定義類(lèi)型未定義”
(2)連接代碼
Sub 導(dǎo)入數(shù)據(jù)1()
    Dim cnn As ADODB.Connection      '數(shù)據(jù)庫(kù)連接
    Dim mydata As String                   '數(shù)據(jù)庫(kù)的完整路徑和名稱(chēng)
    Dim mytable As String                  '數(shù)據(jù)表名稱(chēng)
    Dim sql As String                         'sql語(yǔ)句
    Dim rs As ADODB.Recordset          '臨時(shí)數(shù)據(jù)表紀(jì)錄
    Dim i As Integer                           '循環(huán)數(shù)據(jù)變量(獲取數(shù)據(jù)表字段)

    '1、連接數(shù)據(jù)庫(kù)
    Set cnn = New ADODB.Connection
    mydata = ThisWorkbook.Path & "\進(jìn)銷(xiāo)存數(shù)據(jù)庫(kù).accdb"

    With cnn
        .Provider = "Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password='123456'"
        .Open mydata
    End With

    '2、建立與數(shù)據(jù)庫(kù)的連接
    mytable = "采購(gòu)數(shù)據(jù)3"
    sql = "select 采購(gòu)數(shù)據(jù)3.ID,采購(gòu)數(shù)據(jù)3.采購(gòu)日期,采購(gòu)數(shù)據(jù)3.供貨類(lèi)型,采購(gòu)數(shù)據(jù)3.采購(gòu)分類(lèi),采購(gòu)數(shù)據(jù)3.供應(yīng)商,采購(gòu)數(shù)據(jù)3.名稱(chēng),采購(gòu)數(shù)據(jù)3.單位,采購(gòu)數(shù)據(jù)3.單價(jià),采購(gòu)數(shù)據(jù)3.數(shù)量,采購(gòu)數(shù)據(jù)3.金額,采購(gòu)數(shù)據(jù)3.入賬日期" & " from " & mytable & " order by 采購(gòu)日期"
    Set rs = New ADODB.Recordset
    rs.Open sql, cnn, adOpenKeyset, adLockOptimistic

     '3、復(fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)
    ' (1)清除原數(shù)據(jù)
    ActiveSheet.Cells.ClearContents

    '(2)復(fù)制字段名
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i

    '(3)復(fù)制全部數(shù)據(jù)
    Range("A2").CopyFromRecordset rs

    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing

End Sub


三、設(shè)置ADO連接ACCESS數(shù)據(jù)庫(kù)方式二
無(wú)需引用,直接創(chuàng)建連接
Sub 導(dǎo)入數(shù)據(jù)2()
    Dim cnn As Object                '數(shù)據(jù)庫(kù)連接
    Dim strcnn As String             'ACCESS連接語(yǔ)句
    Dim mydata As String            '數(shù)據(jù)庫(kù)的完整路徑和名稱(chēng)
    Dim mytable As String           '數(shù)據(jù)表名稱(chēng)
    Dim sql As String                  'sql查詢(xún)語(yǔ)句
    Dim rs As Object                  '臨時(shí)數(shù)據(jù)表紀(jì)錄
    Dim i As Integer                  '循環(huán)數(shù)據(jù)變量(獲取數(shù)據(jù)表字段)

    '1、連接數(shù)據(jù)庫(kù)
    Set cnn = CreateObject("ADODB.Connection")
    mydata = ThisWorkbook.Path & "\進(jìn)銷(xiāo)存數(shù)據(jù)庫(kù).accdb"

    Select Case Application.Version * 1    '設(shè)置連接字符串,根據(jù)版本創(chuàng)建連接
        Case Is <= 11
            strcnn = "Provider=Microsoft.Jet.Oledb.4.0;Jet OLEDB:Database Password='123456';Data Source=" & mydata
        Case Is >= 12
            strcnn = "Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password='123456';Data Source=" & mydata
    End Select

    cnn.Open strcnn    '打開(kāi)數(shù)據(jù)庫(kù)鏈接

    '2、設(shè)置sql查詢(xún)語(yǔ)句
    mytable = "采購(gòu)數(shù)據(jù)3"
    Set rs = CreateObject("ADODB.Recordset")

    sql = "select 采購(gòu)數(shù)據(jù)3.ID,采購(gòu)數(shù)據(jù)3.采購(gòu)日期,采購(gòu)數(shù)據(jù)3.供貨類(lèi)型,采購(gòu)數(shù)據(jù)3.采購(gòu)分類(lèi),采購(gòu)數(shù)據(jù)3.供應(yīng)商,采購(gòu)數(shù)據(jù)3.名稱(chēng),采購(gòu)數(shù)據(jù)3.單位,采購(gòu)數(shù)據(jù)3.單價(jià),采購(gòu)數(shù)據(jù)3.數(shù)量,采購(gòu)數(shù)據(jù)3.金額,采購(gòu)數(shù)據(jù)3.入賬日期" & " from " & mytable & " order by 采購(gòu)日期"
    Set rs = cnn.Execute(sql)    '執(zhí)行查詢(xún),并將結(jié)果輸出到記錄集對(duì)象

    '3、復(fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)

    With ActiveSheet
        .Cells.ClearContents

        For i = 0 To rs.Fields.Count - 1    '填寫(xiě)標(biāo)題
            .Cells(1, i + 1) = rs.Fields(i).Name
        Next i

        .Range("A2").CopyFromRecordset rs

        '.Cells.EntireColumn.AutoFit  '自動(dòng)調(diào)整列寬
        '.Cells.EntireColumn.AutoFit  '自動(dòng)調(diào)整列寬

    End With


    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing

End Sub





    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    国产精品日韩欧美一区二区| 精品人妻一区二区三区免费看| 久久碰国产一区二区三区| 亚洲中文字幕三区四区| 欧美日韩一级黄片免费观看| 色婷婷视频在线精品免费观看| 欧美人与动牲交a精品| 国产又黄又爽又粗视频在线| 成人日韩在线播放视频| 亚洲中文字幕在线综合视频| 成人午夜视频精品一区| 精产国品一二三区麻豆| 欧美久久一区二区精品| 老鸭窝老鸭窝一区二区| 亚洲品质一区二区三区| 日韩专区欧美中文字幕| 欧美综合色婷婷欧美激情| 人妻露脸一区二区三区| 搡老妇女老熟女一区二区| 日本道播放一区二区三区| 丰满少妇被猛烈撞击在线视频| 欧美野外在线刺激在线观看| 91插插插外国一区二区| 好吊视频有精品永久免费| 婷婷激情五月天丁香社区| 国产高清三级视频在线观看| 美女激情免费在线观看| 成年人视频日本大香蕉久久| 午夜精品一区二区三区国产 | 91人妻人人澡人人人人精品| 国产内射在线激情一区| 欧洲一区二区三区蜜桃| 日韩一级毛一欧美一级乱| 精品国产av一区二区三区不卡蜜 | 又大又长又粗又黄国产| 日韩熟妇人妻一区二区三区| 午夜精品在线观看视频午夜| 丰满的人妻一区二区三区| 成人欧美精品一区二区三区| 果冻传媒精选麻豆白晶晶| 黄色片一区二区在线观看|