《VBA代碼解決方案》系列書作者
頭條百家平臺 VBA資深創作者
這是公眾號作者的第330篇原創文章
大家好,今日繼續講解VBA與數據庫的第4講內容:VBA如何與數據庫建立連接。我的講解從簡單入手,逐漸將進入較為復雜的階段,之前的內容主要以了解范疇的知識較多,將逐漸過渡到實際的操作。這講內容仍需要讀者以了解為側重,但相關的知識點還是需要有一個清晰的輪廓。
VBA可以訪問的數據庫類型有 、dBase、 、 等,這給VBA的利用范圍得到擴展。我們的講解主要是VBA與數據庫的連接方式,這種連接是大多數的應用。
一、利用ODBC方式連接數據庫
利用這種方式連接數據庫,必須先注冊數據源DSN,目前,提供32位和64位ODBC驅動程序,但在中access數據庫系統組件,使用ODBC API訪問數據庫需要大量的VBA函數原型聲明,操作繁瑣,因此很少使用。這里就不再多說了。
二 通過OLEDB方式連接數據庫
OLE DB是用于訪問數據的系統級別的編程接口。它是一個規范,定義了一組組件接口規范,封裝了各種數據庫管理系統服務,是ADO的基本技術和ADO.NET的數據源
=.("ADODB.")
conn.open"=.Jet.OLEDB.4.0;Data ="&&"; =False"
三 通過DAO方式連接數據庫
DAO提供了一個訪問數據庫的對象模型,利用其中定義的一系列數據訪問對象(如:、等),可以實現對數據庫的各種操作,由于在創建數據庫時系統并不自動引用DAO庫,所以需要用戶自行進行引用設置。具體設置步驟如下:
(1)在VBE工作環境中,選擇“工具”菜單中的“引用”命令,打開“引用”對話框。
(2)在“可使用的引用”列表中勾選 “ DAO 3.6 ”如下圖:
利用DAO 訪問數據庫 首先要創建對象變量,
Dim wsAs
Dim dbAs
Dim rs
Set ws =.(0) '打開默認工作區
Set db =ws.("") ' 打開數據庫
四 利用ADO方式連接數據庫
ADO是基于組件的數據庫編程接口。使用ADO可以方便地連接任何符合ODBC(開放式數據庫連接)標準的數據庫。ADO是DAO的后繼產物。相比DAO,ADO擴展了DAO使用的層次對象模型,用較少的對象、更多的方法和事件來處理各種操作,簡單易用,是當前數據庫開發的主流技術。
1 引用ADO
(1)在VBE工作環境中,選擇“工具”菜單中的“引用”命令,打開“引用”對話框。
(2)在“可使用的引用”列表中勾選 Data *.* ,這里的*.*是指的時ADO的版本號,一般來說,應用程序或控件都具有向下兼容性,所以我們盡可能選擇比較新的版本.以確保程序在能識別舊版本的同時,也能識別較新版本的.
2.用創建對象: Set Conn = (ADODB.)
創建了對象之后,下一步我們要做的就是打開數據庫了.先看下面的代碼,可以成功的打開數據庫:
Set Conn = (ADODB.)
= .Path &"\.accdb"
Conn.Open"=.ACE.OLEDB.12.0;Data =" &
在之后的《VBA與數據庫》的講解中,主要利用的是ADO的連接,以后會逐漸的展開給大家慢慢的講解。
數據庫內容是VBA內的一塊較為重要的部分,同時也是對于學習人員水平的一個提高,但是,如果我之前的內容沒有弄懂的朋友access數據庫系統組件,還是請先弄懂之前的內容,在《VBA代碼解決方案》中,我講解了147講較為有代表的案例,可以覆蓋大多數的知識點,基本掌握后再看數據庫相關的操作,更會好些。
今日內容回向:
1 常見的幾種連接數據庫的方式是否有個大概的印象呢?
2 這幾種常見的方式中那種是比較年輕的呢?
-End-
覺得有啟發,點個“在看”,轉給朋友們
歡迎你“留言”,和作者直接交流
更多關聯閱讀