tft每日頭條

 > 科技

 > accessvba基本語句大全

accessvba基本語句大全

科技 更新时间:2024-08-11 21:13:45

Excel VBA操作Access數據庫有什麼優勢呢?

首先,對于數據庫要有一點了解,數據庫就是一個庫房,裡面存放的不是糧食,也不是商品,而是數據,數據這個東西有點虛幻,看得見摸不着。

但通過對數據的應用和處理之後,就變成了某些實體。從基本理論上來講,數據就是物質世界的本源,一切的存在實體都可以用數據來描述。

accessvba基本語句大全(VBA查詢Access數據庫操作方法)1

所以,未來世界也許就隻是一個虛拟的數據世界,而我們的身體或看到或看不到的一切實體将變得可有可無,也就是意識和世界全部數字化了。

本節介紹一下,如何用VBA和Access數據庫建立聯系,然後讀取數據庫裡的記錄,顯示到Excel工作表當中。

為什麼要這麼做呢?

因為數據庫可保存的數據是Excel無法比較的,體量和應用完全不在一個層級上級。

accessvba基本語句大全(VBA查詢Access數據庫操作方法)2

上圖表格,就是從數據庫讀取的信息,并不是在Excel中創建的,具體方法,慢慢講來。

下圖為Access數據新建的表格内容,和上圖對比就明白了。

不會Access建表操作,需要補一下數據庫操作學習,當然了,如果對SQL語句也沒有基礎,感覺下面的内容也沒必要看了,因為涉及數據庫操作的方法,是用一些SQL數據庫語句完成的。

accessvba基本語句大全(VBA查詢Access數據庫操作方法)3

重點看一下,關鍵代碼

'查詢Access數據庫 Private Sub CommandButton1_Click() Dim uADO, rsADO As Object Dim strPath, strSql As String Dim i As Integer, ri As Integer Set uADO = CreateObject("ADODB.Connection") '新建數據庫連接對象 Set rsADO = CreateObject("ADODB.RecordSet") '新建記錄集對象 strPath = ThisWorkbook.Path & "\udata.accdb " '設置數據庫地址 uADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath '打開數據庫 strSql = "Select * From UserInfo WHERE 部門='辦公室' " '設置查詢語句 rsADO.Open strSql, uADO, 1, 3 '執行查詢 Dim R As Range Set R = ActiveSheet.Range("B2") ActiveSheet.UsedRange.Clear For i = 0 To rsADO.Fields.Count - 1 R.Offset(0, i).Value = rsADO.Fields(i).Name '輸出字段名 Next i Set R = R.Offset(1, 0) Do Until rsADO.EOF '循環查詢到數據 直到記錄最後一條 For i = 0 To rsADO.Fields.Count - 1 R.Offset(ri, i).Value = rsADO.Fields(i).Value '輸出數據表内容 Next i ri = ri 1 rsADO.movenext '指向下一條記錄 DoEvents Loop rsADO.Close '關閉記錄集 Set uADO = Nothing Set rsADO = Nothing End Sub

accessvba基本語句大全(VBA查詢Access數據庫操作方法)4

代碼中有注釋,不做詳細介紹。

下面是否主要代碼說明:

首先,新建數據庫連接對象 uADO,這個對象實現和數據庫建立連接

Set uADO = CreateObject("ADODB.Connection")

建立連接後用下面語句是打開數據庫并建立連接 uADO.Open

uADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath '打開數據庫

Open方法中用了兩個參數,一個是Provider,一個Source

Provider是連接字符串,根據Excel應用版本不同這個字符串也不同,本示例應用Microsoft.ACE.OLEDB.12.0,Excel 2016。

Source參數表示數據源地址,也就是數據庫文件地址。

strPath是存放數據庫文件的路徑和文件名字符串變量,根據你的文件地址進行修改。

strPath = ThisWorkbook.Path & "\udata.accdb " '設置數據庫地址

上面代碼執行之後來就建立了Excel和Access連接,接下來新建個一記錄集對象rsADO

對于數據庫的操作,将用到rsADO記錄集。

Set rsADO = CreateObject("ADODB.RecordSet")

同樣也使用Open方法打開記錄集。

參數有5個,下面使用了4個,當然了參數是可以忽略的。

如果下示例:

strSql = "Select * From UserInfo WHERE 部門='辦公室' " '設置查詢語句

rsADO.Open strSql, uADO, 1, 3 '執行查詢

strSql是查詢語句,也就是通過這樣一個查詢,返回我們想要的數據,保存到rsADO記錄集當中。

uADO是之前打開的數據庫連接對象。

ADO是微軟的 ActiveX 數據對象(ActiveX Data Objects),應用十分廣泛,在對數據進行操作的過程當中,除Excel之外,可以更加方便快捷地提高數據處理能力。

歡迎關注、收藏

---END---

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved