




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章VBA编程基础,2,第7章VBA编程基础,7.1VBA的编程环境,7.2VBA模块简介,7.3VBA程序设计基础,7.4VBA流程控制语句,7.5面向对象程序设计的基本概念,7.6过程调用和参数传递,7.7VBA的常用操作,7.8用户定义类模块创建和引用,7.9VBA程序运行错误处理,3,7.1VBA的编程环境,直接进入:单击“数据库工具”选项卡,在“宏”组中单击“VisualBasic”通过创建模块进入:单击“创建”选项卡,然后在“宏与代码”组中单击“VisualBasic”通过窗体和报表等对象的设计进入“VBA”:通过控件的事件响应,选择“代码生成器”进入代码编辑。,进入VBA环境的3中方式,4,7.2VBA模块简介,7.2.1标准模块Sub子过程Function函数过程7.2.2类模块系统对象模块窗体对象模块和报表对象模块等用户定义类模块过程是模块的主要组成单元,5,7.3VBA程序设计基础,数据类型,6,7.3VBA程序设计基础,变量与常量变量是指程序运行时值会发生变化的数据。变量名的命名,同字段命名一样,变量命名不能包含有空格或除了下划线字符(_)外的任何其它的标点符号,其长度不得超过255个字符。常量是在程序中可以直接引用的实际值,其值在程序运行中不变。不同的数据类型,常量的表现形式也不同,在VBA中有3种常量:直接常量、符号常量和系统常量。,7,7.3VBA程序设计基础,变量的声明DimAs例如:DimNewVar_1AsIntegerNewVa_1为整型变量DimNewVar_2%,sum!NewVar_2为整型变量,sum为单精度型变量DimNewVar_2%,sum!相当于DimNewVar_2AsInteger,sumAsSingle。,8,7.3VBA程序设计基础,强制声明在默认情况下,VBA允许在代码中使用未声明的变量,如果在模块设计窗口的顶部“通用-声明”区域中,加入语句:OptionExplicit,9,7.3VBA程序设计基础,变量的作用域局部范围在子过程或函数过程中定义Dim、Ststic、PrivateAs模块范围在模块通用区定义Dim、Ststic、PrivateAs全局范围PublicAs,10,7.3VBA程序设计基础,数据库对象变量Access建立的数据库对象及其属性,均可被看成是VBA程序代码中的变量及其指定的值来加以引用。例如,Access中窗体与报表对象的引用格式为:Forms!窗体名称!控件名称.属性名称或Reports!报表名称!控件名称.属性名称,11,7.3VBA程序设计基础,数组数组是在有规则的结构中包含一种数据类型的一组数据,也称作数组元素变量。数组变量由变量名和数组下标构成,通常用Dim语句来定义数组,定义格式为:Dim数组名(下标下限to下标上限)例如:DimNewArray(10)AsInteger定义了11个整型数构成的数组,数组元素为NewArray(0)至NewArray(10)DimNewArray(1To10)AsInteger定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10),12,7.3VBA程序设计基础,7.3.4常用标准函数标准函数一般用于表达式中,有的能和语句一样使用。其使用形式如下:函数名(,参数3,参数4,参数5)其中,函数名必不可少,函数的参数放在函数名后的圆括号中,参数可以是常量、变量或表达式,可以有一个或多个,少数函数为无参函数。每个函数被调用时,都会返回一个返回值。算术函数字符串函数日期/时间函数类型函数,13,7.3VBA程序设计基础,7.3.5运算符和表达式运算符1算术运算符用于算术运算,主要有乘幂()、乘法(*)、除法(/)、整数除法()、求模运算(Mod)、加法(+)及减法()等7个运算符。DimMyValue变量定义MyValue=10Mod4返回2MyValue=103返回3,14,7.3VBA程序设计基础,2关系运算符用来表示两个或多个值或表达式之间的大小关系,有相等(=)、不等()、小于()、小于相等(=)等6个运算符。MyValue=(104)返回TrueMyValue=(1=2)返回FalseMyValue=(”周”=2)返回FalseMyValue=(104OR1=2)返回True,16,7.3VBA程序设计基础,运算符的优先级,17,7.4VBA流程控制语句,VBA程序语句按照其功能不同分为两大类型:一是声明语句,用于给变量、常量或过程定义命名;二是执行语句,用于执行赋值操作、调用过程、实现各种流程控制。执行语句可分为3种结构:1顺序结构:按照语句顺序顺次执行。如赋值语句、过程调用语句等。2分支结构:又称选择结构,根据条件选择执行路径。3循环结构:重复执行某一段程序语句。,18,7.4VBA流程控制语句,7.4.1赋值语句赋值语句是为变量指定一个值或表达式。通常以等号(=)连接。在前面我们已多次用到,其使用格式为:Let变量名=值或表达式这里,Let为可选项。注意:“=”是赋值号,不是等号,19,7.4VBA流程控制语句,7.4.2条件语句1IfThen语句(单分支结构)语句结构为:IfThen或IfThenEndIf,20,7.4VBA流程控制语句,2IfThenElse语句(双分支结构)语句结构为:IfThenElse或IfThenElseEndIf,21,7.4VBA流程控制语句,3IfThenElseIf语句(多分支结构)语句结构为(图8.10所示):IfThenElseIfThenelseEndIf,22,7.4VBA流程控制语句,4SelectCaseEndSelect语句使用格式如下:SelectCase表达式Case表达式1表达式的值与表达式1的值相等时执行的语句序列Case表达式2To表达式3表达式的值介于表达式2的值和表达式3的值之间时执行的语句序列CaseIs关系运算符表达式4表达式的值与表达式4的值之间满足关系运算为真时执行的语句序列CaseElse上面的情况均不符合时执行的语句序列EndSelect,23,7.4VBA流程控制语句,24,7.4VBA流程控制语句,7.4.3循环语句1.ForNext语句ForNext语句能够重复执行程序代码区域特定次数,使用格式如下:For循环变量=初值To终值Step步长循环体条件语句序列ExitFor结束条件语句序列Next循环变量,25,7.4VBA流程控制语句,2DoWhileLoop语句使用格式如下:DoWhile循环体条件语句序列ExitDo结束条件语句序列Loop,26,7.4VBA流程控制语句,3DoUntilLoop语句与DoWhileLoop结构相对应,还有另一个Do循环结构,DoUntilLoop结构。该结构是条件式值为假时,重复执行循环,直至条件式值为真,结束循环。条件表达式语句块FT图8.14DoUntilLoop循环语句流程循环流程如图8.14所示。使用格式如下:DoUntil循环体条件语句序列ExitDo结束条件语句序列Loop,27,7.4VBA流程控制语句,4DoLoopWhile语句Do循环体条件语句序列ExitDo结束条件语句序列LoopWhile条件式循环流程如图8.15所示。,5DoLoopUntil语句Do循环体条件语句序列ExitDo结束条件语句序列LoopUntil条件式循环流程如图8.16所示。,28,7.4VBA流程控制语句,29,7.5面向对象程序设计的基本概念,7.5.1集合和对象一个对象就是一个实体,如一辆自行车或一个人等。每种对象都具有一些属性以相互区分,如自行车的尺寸、颜色等。即属性可以定义对象的一个实例。对象除了属性以外还有方法。对象的方法就是对象的可以执行的行为,自行车行走、人说话等。一般情况下,对象都具有多个方法。在Access应用程序由表、查询、窗体、报表、宏和模块对象列表构成,形成不同的类。,30,7.5面向对象程序设计的基本概念,7.5.2属性和方法属性和方法描述了对象的性质和行为。其引用方式为:对象.属性或对象.行为。Access中“对象”可以是单一对象,也可以是对象的集合。例如,Label1.Caption属性表示“标签”控件对象的标题属性,Reports.Item(0)表示报表集合中的第一个报表对象。数据库对象的属性均可以在各自的“设计”视图中,通过“属性窗体”进行浏览和设置。,31,7.5面向对象程序设计的基本概念,7.5.3事件和事件过程事件是Access窗体或报表及其上的控件等对象可以“辨识”的动作,如单击鼠标、窗体或报表打开等。在Access数据库系统里,可以通过两种方式来处理窗体、报表或控件的事件响应。一是使用宏对象来设置事件属性,对此前面已有叙述;二是为某个事件编写VBA代码过程,完成指定动作,这样的代码过程称为事件过程或事件响应代码。,32,7.7VBA常见操作,8.7.1打开和关闭操作1打开窗体操作命令格式为:DoCmd.OpenFormformname,view,filtername,wherecondition,datamode,windowmode例如:以对话框形式打开名为“学生信息登录”窗体。Docmd.OpenForm“学生信息登录”,acDialog注意,参数可以省略,取缺省值,但分隔符”,”不能省略。,33,7.7VBA常见操作,2打开报表操作命令格式为:DoCmd.OpenReportreportname,view,filtername,wherecondition例如:预览名为“学生信息表”报表的语句为:Docmd.OpenReport“学生信息表”,acViewPreview注意,参数可以省略,取缺省值,但分隔符”,”不能省略。,34,7.7VBA常见操作,3关闭操作命令格式为:DoCmd.Closeobjecttype,objectname,save例如:关闭名为“学生信息登录”窗体。DoCmd.CloseacForm,”学生信息登录”如果“学生信息登录”窗体就是当前窗体,则可以使用语句:DoCmd.Close。,35,7.7VBA常见操作,8.7.2输入和输出操作1输入框(InputBox)InputBox
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司节能降耗活动方案
- 公司组织KTV唱歌活动方案
- 公司网络经营活动方案
- 公司福利旅行活动方案
- 公司每月团聚活动方案
- 公司节日互动活动方案
- 公司组织娱乐活动方案
- 公司每日员工活动方案
- 公司组织去爬山活动方案
- 公司班组趣味活动方案
- 2023风光互补路灯设计方案
- 2023年山东省夏季普通高中学业水平合格考试会考生物试题及参考答案
- 2024年山东省青岛市中考英语试卷附答案
- 2023-2024学年山东省临沂市兰山区八年级(下)期末数学试卷(含答案)
- 材料力学(山东联盟-中国石油大学(华东))智慧树知到期末考试答案章节答案2024年中国石油大学(华东)
- 江西省南昌二中心远教育集团九湾学校2023-2024学年八年级下学期期末考试物理试题
- 深入理解Nginx(模块开发与架构解析)
- MOOC 中国文化概论-华南师范大学 中国大学慕课答案
- 初中人教版八年级下册期末物理真题模拟试卷经典套题
- JBT 11699-2013 高处作业吊篮安装、拆卸、使用技术规程
- 家长会课件:初中七年级家长会课件
评论
0/150
提交评论