资源描述
1,第九章VBA数据库编程,第一节VBA常见操作第二节VBA的数据库编程,2,第一节VBA常见操作,一、打开和关闭操作二、输入框(InputBox)三、消息框(MsgBox)四、VBA编程验证数据五、计时事件(Timer),3,一、打开和关闭操作1.打开窗体操作命令格式为:DoCmd.OpenForm窗体名,视图,筛选名称,Where条件,数据模式,窗口模式有关参数说明如下:窗体名称:字符串表达式,代表窗体的有效名称。视图:各种视图对应常量如下:设计视图acDesign,数据表视图acFormDS,窗体视图(默认值)acNormal,打印预览acPreview,4,2.打开报表操作命令格式为:DoCmd.OpenReport报表名称,视图,筛选名称,Where条件报表名称:代表要打开的报表的有效名称,为字符串表达式。视图:代表将要打开的报表的视图,各种视图对应常量如下:设计视图acViewDesign打印视图(默认值)acViewNormal打印预览acViewPreview,5,3.打开表操作命令格式为:DoCmd.OpenTable表名,视图,数据模式表名:代表要打开的表的有效名称,为字符串表达式,。视图:代表将要打开的报表的视图,各种视图对应常量如下:设计视图acViewDesign数据表视图(默认值)acViewNormal打印预览acViewPreview,6,4.打开查询操作DoCmd.OpenQuery查询名,视图,数据模式5.关闭对象操作DoCmd.Close对象类型,对象名,保存6.运行宏DoCmd.RunMacroMacroName,repeatcount,repeatexpression7.退出Access程序DoCmd.Quit,7,二、输入框(InputBox),格式:InputBox(提示信息,标题,字符表达式,左边距,上边距)说明:(1)用于接收用户从键盘上输入的数据;(2)函数返回值为从键盘上输入的数据,为字符串;(3)“提示信息”是显示在对话中用于提示用户输入的信息;(4)“标题”是对话框标题栏上显示的内容;(5)“字符表达式”是默认输入内容;(6)“左边距”是对话框距屏幕左边的距离;(7)“上边距”是对话框距屏幕上边的距离。,返回,8,三、消息框(MsgBox),格式:MsgBox(消息,样式,标题)说明:(1)该函数用于显示操作提示或反馈消息,以提示用户做出反映;(2)“消息”是显示在对话框中的信息;(3)“样式”决定消息框内的按钮和图标的种类和数目,它是“按钮类型”、“图标类型”、“缺省按钮”个数值之和。,9,按钮类型,10,图标类型,11,缺省按钮(4)“标题”是对话框标题栏上显示的内容;,12,(5)函数返回值,根据用户对出现的对话框的反映动作,函数返回以下不同的值:,返回,13,四、VBA编程验证数据,14,五、计时事件(Timer)其处理过程是:计时器触发事件过程(Form_Timer),每隔计时器间隔(TimerInterval)规定的时间就会被激发运行一次。注意:“计时器间隔”属性值是以毫秒为单位的,每1000毫秒为1秒。,15,第二节VBA数据库编程,一、DAO技术二、ADO技术三、数据库编程分析四、数据库数据访问和处理时使用的特殊函数,返回,16,一、DAO技术,DAO(数据访问对象)是VBA提供的一种数据访问接口,使用它可以灵活地访问数据库并进行各种操作。DAO库的引用DAO模型结构使用方法,返回,17,DAO库的引用,(1)打开VBE窗口;(2)选择“工具”菜单中的“引用”项;(3)在“引用”对话框中选择“MicrosoftDAO3.6ObjectLibrary”并确定。,返回,18,DAO模型结构,返回,19,二、ADO技术,DAO只能用于本地数据库连接,它没有远程连接能力。ADO(活动数据对象)既能实现本地连接,也能实现远程连接,是一种替代DAO的数据库连接新技术。,ADO库的引用ADO模型结构使用方法,返回,20,ADO库的引用,(1)打开VBE窗口;(2)选择“工具”菜单中的“引用”项;(3)在“引用”对话框中选择“MicrosoftActiveXDataObjects2.1Library”并确定。,返回,21,ADO模型结构,返回,22,使用方法,程序段1:在Connection对象上打开RecordSet创建对象变量DimcnAsnewADODB.Connection创建一个连接对象DimrsAsnewADODB.RecordSet创建一个记录集对象cn.Open打开一个连接rs.Open打开一个记录集DoWhileNotrs.EOF利用循环结构遍历整个记录集直至末尾安排字段数据的各种操作rs.MoveNext记录指针移至下一条Looprs.Close关闭记录集cn.Close关闭连接Setrs=Nothing回收记录集对象变量的内存占有Setcn=Nothint回收连接对象变量的内存占有,返回,23,三、数据库编程分析,例:试编写子过程分别用DAO和ADO来完成对“教学管理.mdb”文件中“学生”表的学生年龄都加1的操作,假设文件存放在D盘“Access”文件夹中。,24,子过程2:使用ADOSubSetAgePlus2()创建或定义对象变量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(年龄)设置”年龄”字段引用对记录集是用循环结构进行遍历DoWhileNotrs.EOFfd=fd+1年龄加1rs.Update更新记录集,保存年龄值rs.MoveNexr记录指针移动至下一条Loop关闭并回收对象变量rs.Closecn.CloseSetrs=NothingSetcn=NothingEndSub,25,创建或定义对象变量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打开与数据源的连接,26,strSQL=Select年龄from学生设置查询表rs.OpenstrSQL,cn,adOpenDynamic,adLockOpetimistic,adCmdText记录集Setfd=rs.Fields(年龄)设置”年龄”字段引用对记录集是用循环结构进行遍历DoWhileNotrs.EOFfd=fd+1年龄加1rs.Update更新记录集,保存年龄值rs.MoveNexr记录指针移动至下一条Loop关闭并回收对象变量rs.Closecn.CloseSetrs=NothingSetcn=Nothing,27,1.空值转换函数(Nz)2.DCount函数,DAvg函数和DSum函数DCount(表达式,记录集,条件式)DAvg(表达式,记录集,条件式)DSum(表达式,记录集,条件式)=DCount(“教师编号,教师,性别=女)=DAvg(年龄,学生)3.DMax函数和DMin函数DMax(表达式,记录集,条件式)DMin(表达式,记录集,条件式)=DMax(年龄,学生,性别=男)4.DLookup函数DLookup(表达式,记录集,条件式),四、数据库数据访问和处理时使用的几个特殊函数:,28,本章考点,返回,VBA中DoCmd对象的常见操作;输入框函数和消息框函数的调用;DAO与ADO技术的应用;数据库函数的使用。考试分值:笔试:410分机试:030分,
展开阅读全文