日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VBA與Access數(shù)據(jù)庫的具體連接方式,DAO與ADO的利用

 東西二王 2019-05-30

大家好,今日繼續(xù)講解VBA與數(shù)據(jù)庫的第4講內(nèi)容:VBA如何與數(shù)據(jù)庫建立連接。我的講解從簡單入手,逐漸將進入較為復(fù)雜的階段,之前的內(nèi)容主要以了解范疇的知識較多,將逐漸過渡到實際的操作。這講內(nèi)容仍需要讀者以了解為側(cè)重,但相關(guān)的知識點還是需要有一個清晰的輪廓。

VBA可以訪問的數(shù)據(jù)庫類型有Microsoft access、dBase、Microsoft SQLServer、Oracle 等,這給VBA的利用范圍得到擴展。我們的講解主要是VBA與Access數(shù)據(jù)庫的連接方式,這種連接是大多數(shù)的應(yīng)用。

一、利用ODBC方式連接Access數(shù)據(jù)庫

利用這種方式連接數(shù)據(jù)庫,必須先注冊數(shù)據(jù)源DSN,目前,Windows提供32位和64位ODBC驅(qū)動程序,但在Access中,使用ODBC API訪問數(shù)據(jù)庫需要大量的VBA函數(shù)原型聲明,操作繁瑣,因此很少使用。這里就不再多說了。

二 通過OLEDB方式連接access數(shù)據(jù)庫

OLE DB是用于訪問數(shù)據(jù)的Microsoft系統(tǒng)級別的編程接口。它是一個規(guī)范,定義了一組組件接口規(guī)范,封裝了各種數(shù)據(jù)庫管理系統(tǒng)服務(wù),是ADO的基本技術(shù)和ADO.NET的數(shù)據(jù)源

set conn=Server.CreateObject('ADODB.Connection')

conn.open 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='&<數(shù)據(jù)庫名>&';Persist Security Info=False'

三 通過DAO方式連接Access數(shù)據(jù)庫

DAO提供了一個訪問數(shù)據(jù)庫的對象模型,利用其中定義的一系列數(shù)據(jù)訪問對象(如:Database、Recordset等),可以實現(xiàn)對數(shù)據(jù)庫的各種操作,由于在創(chuàng)建數(shù)據(jù)庫時系統(tǒng)并不自動引用DAO庫,所以需要用戶自行進行引用設(shè)置。具體設(shè)置步驟如下:

(1)在VBE工作環(huán)境中,選擇'工具'菜單中的'引用'命令,打開'引用'對話框。

(2)在'可使用的引用'列表中勾選 'Microsoft DAO 3.6 Object Library' 如下圖:

VBA與Access數(shù)據(jù)庫的具體連接方式,DAO與ADO的利用

利用DAO 訪問數(shù)據(jù)庫 首先要創(chuàng)建對象變量,

Dim ws As Workspace

Dim db As Database

Dim rs As Recordset

Set ws = DBEngine.workspae(0) '打開默認工作區(qū)

Set db = ws.OpenDatabase('<數(shù)據(jù)庫名>') ' 打開數(shù)據(jù)庫

VBA與Access數(shù)據(jù)庫的具體連接方式,DAO與ADO的利用

四 利用ADO方式連接Access數(shù)據(jù)庫

ADO是基于組件的數(shù)據(jù)庫編程接口。使用ADO可以方便地連接任何符合ODBC(開放式數(shù)據(jù)庫連接)標(biāo)準的數(shù)據(jù)庫。ADO是DAO的后繼產(chǎn)物。相比DAO,ADO擴展了DAO使用的層次對象模型,用較少的對象、更多的方法和事件來處理各種操作,簡單易用,是當(dāng)前數(shù)據(jù)庫開發(fā)的主流技術(shù)。

1 引用ADO

(1)在VBE工作環(huán)境中,選擇'工具'菜單中的'引用'命令,打開'引用'對話框。

(2)在'可使用的引用'列表中勾選 Microsoft ActiveX Data Object *.* Library,這里的*.*是指的時ADO的版本號,一般來說,應(yīng)用程序或ActiveX控件都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確保程序在能識別舊版本Access的同時,也能識別較新版本的Access.

VBA與Access數(shù)據(jù)庫的具體連接方式,DAO與ADO的利用

2.用CreateObject創(chuàng)建對象: Set Conn = CreateObject(ADODB.Connection)

創(chuàng)建了對象之后,下一步我們要做的就是打開數(shù)據(jù)庫了.先看下面的代碼,可以成功的打開數(shù)據(jù)庫:

Set Conn = CreateObject(ADODB.Connection)

strPath = ThisWorkbook.Path & '\mydata.accdb'

Conn.Open 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' & strPath

在之后的《VBA與數(shù)據(jù)庫》的講解中,主要利用的是ADO的連接,以后會逐漸的展開給大家慢慢的講解。

數(shù)據(jù)庫內(nèi)容是VBA內(nèi)的一塊較為重要的部分,同時也是對于學(xué)習(xí)人員水平的一個提高,但是,如果我之前的內(nèi)容沒有弄懂的朋友,還是請先弄懂之前的內(nèi)容,在《VBA代碼解決方案》中,我講解了147講較為有代表的案例,可以覆蓋大多數(shù)的知識點,基本掌握后再看數(shù)據(jù)庫相關(guān)的操作,更會好些。

VBA與Access數(shù)據(jù)庫的具體連接方式,DAO與ADO的利用

今日內(nèi)容回向:

1 常見的幾種連接數(shù)據(jù)庫的方式是否有個大概的印象呢?

2 這幾種常見的方式中那種是比較年輕的呢?

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多