下面利用实例说明如何实现它们的沟通. 有一个名为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钩通的连接字符串在excel中建立sql索引
建立索引的语法格式如下:CREATE (UNIQUEI[CLUSTER)INDEX<索引名>ON table I view(<列名>[<次序>】L<列名>t<次序>]I ")其中的元素说明如下:table! view要建立素引的基本表或者视图的名字。
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数据库中的信息了。数据操作范围进一步
扩大。
5.1 Excel VBA控件的使用入门
为了让读者了解VBA界面设计的思路,首先讲一个简单的例子。在这个例子中,将会出现一个对话框,单击里面的按钮,则会出现一个恭喜的对话框。下面讲解实现方法。(1)新建一个Exce,文件,单击【工具II【宏】l[Visual Basic编辑器I命令菜单,将会出现VBA界面。(2)右击Sheetl项,选择快捷菜单中的【插入】I