下面利用实例说明如何实现它们的沟通. 有一个名为author的数据表。放入Excel文件中。已知在c盘有一个dbl.mdb文件,数据库里面现在利用VBA实现Excel从db l.mdb文件提取需要的数据,并存放到excel表格中。
下面利用实例说明如何实现它们的沟通. 有一个名为author的数据表。放入Excel文件中。已知在c盘有一个dbl.mdb文件,数据库里面现在利用VBA实现Excel从db l.mdb文件提取需要的数据,并存放到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 关闭连接
1oADODBConnection.Close
衰格自适应宽度
Sheets(1).Ce11s.EntireColumn.AutoFit
End Sub
读者重点要学习一下连接字符串:
1cConnectionString-"Driver-(Microsoft Access Driver (".mdb));
一DBQ-C八dbl. mdb;"‘"ReadOnly-True"
以上连接字符申将连接驱动改为Driver-(Microsoft Access Driver (*.mdb)),并利用DBQ
乡数.设置数据路径为C: dbl.mdb.当建立数据连接时,以上代码会直接打开db l.mdb。而
代码中查询的SQL语句如下:
select .from author
上面的SQL语句将查询author*中的所有数据。执行以上语句,筛选的结果如图6.13所
示。
这样,就可以成功利用VBA语句调用Access数据库中的信息了。数据操作范围进一步
扩大。