2024年9月13日发(作者:)
Excel VBA编程 典型实例——读取ACCESS数据
利用VBA,不仅可以对文本文件进行操作,还可以对Office其他组件进行操作。例
如,通过ADO读取ACCESS中的数据,这样使得Excel更加灵活。
1.练习要点
使用ADO连接
查询数据库数据
2.操作步骤
(1)启动Excel 2007,并打开VBE窗口,新建一个用户窗体,设置其Caption为“人
员信息查询”。
(2)在该窗体中,添加一个多页控件,设置其中一个页为“查找”,并在该页中添
加如图18-8所示的控件。
添加控件
图18-8 添加控件
(3)设置另一个页为“资料”,并添加如图18-9所示的控件。
设置“资
料”页
图18-9 设置“资料”页
(4)在页控件下面添加一个命令按钮,并设置其Caption属性为“关闭”,如图18-10
所示。
添加
图18-10 添加按钮
(5)打开该窗体的【代码】窗口,在窗体的Initialize事件代码。
'声明ADO连接对象
Dim cnn As tion
'声明ADO命令对象
Dim cmd As d
Private Sub UserForm_Initialize()
Dim strCon As String
'为复合框添加数据
m "身份证号码"
m "姓名"
m "出生日期"
m "单位名称"
dex = 0
'设置列表框为3列
Count = 3
'设置列表框各列的宽度
Widths = "20;100;60"
'新建连接对象
Set cnn = New tion
'定义连接字符串
strCon = "Provider=.4.0;Data Source=" & _
& "数据库.mdb"
'设置连接参数
tionString = strCon
'新建命令对象
Set cmd = New d
'打开“查找”页
= 0
End Sub
(6)设置“查找”按钮的Click事件。
Private Sub cmdFind_Click()
'声明保存SQL语句
Dim strSql As String
Dim rs As set
'说明数组
Dim aRs(100, 3) As String
Dim i As Integer
If = "" Then
MsgBox "请输入查询关键字"
us
Exit Sub
End If
'根据不同字段生成查询
Select Case
Case "身份证号码"
strSql = "Select * From 人员信息 Where Identifcard_id Like '%" &
& "%'"
Case "姓名"
strSql = "Select * From 人员信息 Where Member_Name Like '%" &
& "%'"
Case "出生日期"
'判断日期格式是否正确
If IsDate() Then
strSql = "Select * From 人员信息 Where Birthday=#" & &
"#"
Else
MsgBox "请输入正确的日期格式!"
us
Exit Sub
End If
Case "单位名称"
strSql = "Select fcard_id,_Name,_name " & _
" From 人员信息 AS a, 工作单位 AS b " & _
" Where _id=_id AND _name Like '%" & &
"%'"
End Select
'打开ADO连接
'设置命令对象的连接属性
Connection = cnn
'设置命令对象执行的SQL语句
dText = strSql
'执行SQL语句,将结果保存在记录集中
Set rs = e()
i = 0
'循环处理记录集
Do While Not
aRs(i, 0) = ("ID").Value
aRs(i, 1) = ("Identifcard_id").Value
aRs(i, 2) = ("Member_Name").Value
i = i + 1
xt
Loop
'清除列表框中的数据
'列表框赋值
() = aRs
End Sub
(7)设置列表框的Click事件。
Private Sub lstInfo_Click()
Dim i As Integer
Dim strSql As String
Dim rs As set
If = "" Then Exit Sub
'获取列表框第一列的值
i = CInt()
'生成SQL语句
strSql = "Select fcard_id,_Name,,ay,_name " &
_
" From 人员信息 AS a, 工作单位 AS b" & _
" Where _id=_id AND =" & i
Connection = cnn
dText = strSql
Set rs = e()
'获取数据
If Not Then
= ("Member_Name").Value
= ("Identifcard_id").Value
= ("Birthday").Value
= ("unit_name").Value
If ("Sex").Value = 1 Then
= True
Else
= True
End If
End If
End Sub
(8)设置“关闭”按钮的Click事件。
Private Sub cmdExit_Click()
'关闭窗体
Unload Me
End Sub
(9)输入代码后,在“查找”页中的“查找字段”中选择要查找的类型,在“关
键字”文字框中输入需要查找的内容,然后单击“查找”按钮,所查询的结果将显
示在列表框中。单击列表框中的内容,在“资料”页中将显示所查询的内容。
本文发布于:2024-09-13 15:16:19,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1726211779384808.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |