VBA数据库编程资料Word文档下载推荐.docx
《VBA数据库编程资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VBA数据库编程资料Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
代表将要打开的报表的视图,各种视图对应常量如下:
设计视图acViewDesign
打印视图(默认值)acViewNormal
打印预览acViewPreview
3.打开表操作
DoCmd.OpenTable表名[,视图][,数据模式]
表名:
代表要打开的表的有效名称,为字符串表达式,。
数据表视图(默认值)acViewNormal
4.打开查询操作
DoCmd.OpenQuery查询名[,视图][,数据模式]
5.关闭对象操作
DoCmd.Close[对象类型,对象名][,保存]
6.运行宏
DoCmd.RunMacroMacroName[,repeatcount][,repeatexpression]
7.退出Access程序
DoCmd.Quit
格式:
InputBox(提示信息[,标题][,字符表达式][,左边距][,上边距])
说明:
(1)用于接收用户从键盘上输入的数据;
(2)函数返回值为从键盘上输入的数据,为字符串;
(3)“提示信息”是显示在对话中用于提示用户输入的信息;
(4)“标题”是对话框标题栏上显示的内容;
(5)“字符表达式”是默认输入内容;
(6)“左边距”是对话框距屏幕左边的距离;
(7)“上边距”是对话框距屏幕上边的距离。
MsgBox(消息[,样式][,标题])
(1)该函数用于显示操作提示或反馈消息,以提示用户做出反映;
(2)“消息”是显示在对话框中的信息;
(3)“样式”决定消息框内的按钮和图标的种类和数目,它是“按钮类型”、“图标类型”、“缺省按钮”3个数值之和。
①按钮类型
第二节 VBA数据库编程
一、DAO技术
二、ADO技术
三、数据库编程分析
四、数据库数据访问和处理时使用的特殊函数
一、DAO技术
DAO(数据访问对象)是VBA提供的一种数据访问接口,使用它可以灵活地访问数据库并进行各种操作。
1.DAO库的引用
2.DAO模型结构
3.使用方法
1.DAO库的引用
(1)打开VBE窗口;
(2)选择“工具”菜单中的“引用”项;
(3)在“引用”对话框中选择“MicrosoftDAO3.6ObjectLibrary”并确定。
3.使用方法
(1)创建工作区
(2)打开数据库
(3)选择记录集
(4)浏览记录
(5)操作记录
(6)关闭和回收记录集与数据库
(7)举例
Dim工作区变量AsWorkspace
Set工作区变量=DBEngine.Workspace(序号)
此步可省略,若省略则默认为打开0号工作区。
Dim数据库变量AsDatabase
Set数据库变量=工作区变量.OpenDatabase(数据库名)
若打开当前数据库,则前两步可用以下语句替代:
Set数据库变量=CurrentDB()
Dim记录集变量AsRecordSet
Set记录集变量=数据库变量.OpenRecordSet(表名|查询名|SQL语句)
通过记录集对象的相应属性和方法可实现记录的浏览。
访问字段:
Fields(字段名|字段编号)
注意:
第一字段编号为0,以此类推。
记录定位:
前移:
MovePrevious 后移:
MoveNext
首记录:
MoveFirst 尾记录:
MoveLast
记录n:
Moven
测试状态:
文件首:
BOF 文件尾:
EOF
编辑记录:
Edit
该方法使记录进入可编辑状态,之后可通过Fields(字段)属性编辑数据。
添加记录:
AddNew
该方法使记录进入追加状态,之后可将数据写入记录的对应字段属性中。
更新记录:
Update
编辑和添加的数据只是临时存放在缓冲区中,在接到更新命令后,才真正实现。
删除记录:
Delete
关闭:
Close
回收:
记录集或数据库对象名=Nothing
二、ADO技术
DAO只能用于本地数据库连接,它没有远程连接能力。
ADO(活动数据对象)既能实现本地连接,也能实现远程连接,是一种替代DAO的数据库连接新技术。
1.ADO库的引用
2.ADO模型结构
1.ADO库的引用
(3)在“引用”对话框中选择“MicrosoftActiveXDataObjects2.1Library”并确定。
程序段1:
在Connection对象上打开RecordSet
’创建对象变量
DimcnAsnewADODB.Connection’创建一个连接对象
DimrsAsnewADODB.RecordSet’创建一个记录集对象
cn.Open<
连接串等参数>
’打开一个连接
rs.Open<
查询串等参数>
’打开一个记录集
DoWhileNotrs.EOF’利用循环结构遍历整个记录集直至末尾
……’安排字段数据的各种操作
rs.MoveNext’记录指针移至下一条
Loop
rs.Close’关闭记录集
cn.Close’关闭连接
Setrs=Nothing’回收记录集对象变量的内存占有
Setcn=Nothint’回收连接对象变量的内存占有
三、数据库编程分析
例:
试编写子过程分别用DAO和ADO来完成对“教学管理.mdb”文件中“学生”表的学生年龄都加1的操作,假设文件存放在D盘“Access”文件夹中。
子过程1:
使用DAO
SubSetAgePlusl()
‘定义对象变量
DimwsAsDAO.Workspace‘工作区对象
DimdbAsDAO.Database‘数据库对象
DimrsAsDAO.Recordset‘记录集对象
DimfdAsDAO.Field‘字段对象
‘注意:
如果操作当前数据库,可用Setdb=CurrentDb()来替换下面两条语句!
Setws=DBEngine.Workspaces(0)’打开0号工作区
Setdb=ws.OpenDatabase("
D:
\Access\教学管理.mdb"
)’打开数据库
Setrs=db.OpenRecordset("
学生"
)‘返回“学生”表记录集
Setfd=rs.Fields("
年龄"
)
‘对记录集是用循环结构进行遍历
DoWhileNotrs.EOF
rs.Edit
fd=fd+1
rs.Update
rs.MoveNext
Loop
‘关闭并回收对象变量
rs.Close
db.Close
Setrs=Nothing
Setdb=Nothing
EndSub
‘注意:
如果操作当前数据库可用Setdb=CurrentDb()来替换下面两条语句!
)‘返回学生表记录集
子过程2:
使用ADO
SubSetAgePlus2()
‘创建或定义对象变量
DimcnAsNewADODB.Connection‘连接对象
DimrsNewADODB.Recordset‘记录集对象
DimfdAsADODB.Field‘字段对象
DimstrConnectAsString‘连接字符串
DimstrSQLAsString‘查询字符串
操作当前数据库,用Setcn=CurrentProject.Connection替换下面3条语句
strConnect="
D:
\Access\教学管理.mdb"
‘设置连接数据库
cn.Provider="
Microsoft.Jet.OLEDB.4.0"
‘设置OLEDB数据提供者
cn.OpenstrConnect‘打开与数据源的连接
strSQL="
Select年龄from学生"
‘设置查询表
rs.OpenstrSQL,cn,adOpenDynamic,adLockOpetimistic,adCmdText‘记录集
Setfd=rs.Fields("
)‘设置”年龄”字段引用
fd=fd+1‘年龄加1
rs.Update‘更新记录集,保存年龄值
rs.MoveNext‘记录指针移动至下一条
cn.Close
Setcn=Nothing
‘创建或定义对象变量
‘设置OLEDB数据提供者
rs.MoveNexr‘记录指针移动至下一条
四、数据库数据访问和处理时使用的几个特殊函数:
1.空值转换函数(Nz)
2.DCount函数,DAvg函数和DSum函数
DCount(表达式,记录集[,条件式])
DAvg(表达式,记录集[,条件式])
DSum(表达式,记录集[,条件式])
=DCount(“教师编号"
,"
教师"
"
性别=’女’"
=DAvg("
3.DMax函数和DMin函数
DMax(表达式,记录集[,条件式])
DMin(表达式,记录集[,条件式])
=DMax("
性别=‘男’"
4.DLookup函数
DLookup(表达式,记录集[,条件式])
本章考点
1.VBA中DoCmd对象的常见操作;
2.输入框函数和消息框函数的调用;
3.DAO与ADO技术的应用;
4.数据库函数的使用。
考试分值:
笔试:
4~10分 机试:
0~30分