Access數(shù)據(jù)庫(kù)是微軟一個(gè)經(jīng)典的小型數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)在職場(chǎng)辦公環(huán)境中有著廣泛的應(yīng)用,對(duì)于辦公環(huán)境中,單個(gè)部門或者跨部門的數(shù)據(jù)存儲(chǔ)、共享和交互有著重要的作用,彌補(bǔ)Excel表格在多人共享和數(shù)據(jù)存儲(chǔ)的不足。今天《神奇的VBA》將分享如何從Access數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)的代碼。 首選注意事項(xiàng): VBE中務(wù)必添加引用“Microsoft Activex Data ObjectsLibrary” 任意版本即可。 無密碼保護(hù)的數(shù)據(jù)庫(kù) 這種情況可能很少見,但是如果您需要從未受保護(hù)的 Access 數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),可借鑒以下代碼改寫: 示例代碼:是將名稱為《公司信息》的Access數(shù)據(jù)庫(kù)中的“員工信息表”中存儲(chǔ)的所有員工信息一次性查詢并顯示在活動(dòng)工作表中。 Sub 查詢Access數(shù)據(jù)_不含數(shù)據(jù)庫(kù)密碼() Dim Conn As New ADODB.Connection'Microsoft Activex Data Objects Library Dim rs As New ADODB.Recordset Dim sSQL As String Dim sConnect As String
sConnect ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\baowangfu\Desktop\公司信息.accdb;Persist Security Info=False;" Conn.Open sConnect sSQL = "SELECT * FROM 員工信息表" rs.Open sSQL, Conn ActiveSheet.Range("A1").CopyFromRecordsetrs rs.Close Conn.Close End Sub
密碼保護(hù)數(shù)據(jù)庫(kù) 更常見的場(chǎng)景, 連接到密碼保護(hù)訪問數(shù)據(jù)庫(kù)并不困難,所有內(nèi)容都在使用的連接字符串(sConnect)中,下面示例中假設(shè)數(shù)據(jù)庫(kù)密碼為:123456。 Sub 查詢Access數(shù)據(jù)_含數(shù)據(jù)庫(kù)密碼() Dim Conn As New ADODB.Connection 'Microsoft ActivexData Objects Library Dim rs As New ADODB.Recordset Dim sSQL As String Dim sConnect As String
sConnect = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\baowangfu\Desktop\公司信息.accdb;Jet OLEDB:DatabasePassword=123456;" Conn.Open sConnect sSQL = "SELECT * FROM 員工信息表" rs.Open sSQL, Conn ActiveSheet.Range("A1").CopyFromRecordsetrs rs.Close Conn.Close End Sub
需要說明的是,經(jīng)過驗(yàn)證,如果數(shù)據(jù)庫(kù)本身沒有設(shè)置任何密碼, 那么帶有密碼的數(shù)據(jù)庫(kù)連接字符串將忽略密碼驗(yàn)證。直接連接數(shù)據(jù)庫(kù)。 運(yùn)用本篇《神奇的VBA》分享的幾行代碼,您即可連接到 Access 數(shù)據(jù)庫(kù)以檢索整表信息,非常簡(jiǎn)單。本篇拋磚引玉,實(shí)際運(yùn)用時(shí),需求場(chǎng)景多變,用戶可以學(xué)習(xí)SQL語(yǔ)句按條件查詢信息。 原創(chuàng)碼字不易歡迎"點(diǎn)贊","轉(zhuǎn)發(fā)" 或點(diǎn)擊"在看"
更多歷史原創(chuàng)文章: 《神奇的VBA》編程:強(qiáng)制變量聲明 Option Explicit
《神奇的VBA》全面改版升級(jí)中...
《神奇的VBA》編程:監(jiān)控表格單元格值的變化
《神奇的VBA》編程:批量清除多個(gè)字符
《神奇的VBA》編程:獲取Access數(shù)據(jù)表列表
《神奇的VBA》編程:禁止修改Excel工作表名稱
《神奇的VBA》編程:一次性講清楚VBA注釋
《神奇的VBA》編程:快速定位報(bào)表列
《神奇的VBA》編程:獲取文件是否被占用
《神奇的VBA》編程:執(zhí)行速度和效率(1)
《神奇的VBA》編程:執(zhí)行速度和效率(2)
《神奇的VBA》編程:標(biāo)識(shí)重復(fù)數(shù)據(jù)
|