下面利用實例說明如何實現(xiàn)它們的溝通. 有一個名為author的數(shù)據(jù)表。放入Excel文件中。已知在c盤有一個dbl.mdb文件,數(shù)據(jù)庫里面現(xiàn)在利用VBA實現(xiàn)Excel從db l.mdb文件提取需要的數(shù)據(jù),并存放到excel表格中。
(1)新建一個Excel工作簿,打Excel VB編輯器。
(2)在該工程下,建立一個窗體,在窗體中添加一個按鈕,
編輯窗口。
(3)在過程中輸入以下代碼:
Private Sub CommandButtonl_ Click()
Dim lcConnectionString, lcCommandText As String
Dim loADODBConnection As ADODB.Connection
Dim loADODBRecordset As ADODB.Recordset
,和Access鉤通的連接字符串
lcConnectionString-"Driver-(Microsoft Access
雙擊該按鈕,切換到代碼
Driver (".mdb));”、‘
"DBQ-C八dbl.mdb;一‘
"ReadOnly-True"
,提取而要信息
lcCommandText-一select二‘
Set loADODBConnection一CreateObject("ADODB.Connection")
Set loADODBRecordset,CreateObject("ADODB.Recordset")
loADODBConnection.Open 1cConnectionString
loADODBRecordset.Open lcCommandText, loADODBConnection, 3, 1, 1
存入Excel中
Dim r, f As Integer
r一1
For f二0 To loADODBRecordset.Fields.Count一1
Sheets(1).Cells(r, f+1)一loADODBRecordset.Fields(f).Name
Next
While
r
Not loADODBRecordset.EOF
For f=
;,。
loADODBRecordset.Fields.Count一1
Sheets(1).Cells(r, f+1)一loADODBRecordset.Fields(f).Value
Next
1oADODBRecordset.MoveNext
wend 關(guān)閉連接
1oADODBConnection.Close
衰格自適應(yīng)寬度
Sheets(1).Ce11s.EntireColumn.AutoFit
End Sub
讀者重點要學(xué)習(xí)一下連接字符串:
1cConnectionString-"Driver-(Microsoft Access Driver (".mdb));
一DBQ-C八dbl. mdb;"‘"ReadOnly-True"
以上連接字符申將連接驅(qū)動改為Driver-(Microsoft Access Driver (*.mdb)),并利用DBQ
鄉(xiāng)數(shù).設(shè)置數(shù)據(jù)路徑為C: dbl.mdb.當(dāng)建立數(shù)據(jù)連接時,以上代碼會直接打開db l.mdb。而
代碼中查詢的SQL語句如下:
select .from author
上面的SQL語句將查詢author*中的所有數(shù)據(jù)。執(zhí)行以上語句,篩選的結(jié)果如圖6.13所
示。
這樣,就可以成功利用VBA語句調(diào)用Access數(shù)據(jù)庫中的信息了。數(shù)據(jù)操作范圍進(jìn)一步
擴大。