VBA编程基础 ppt.ppt_第1页
VBA编程基础 ppt.ppt_第2页
VBA编程基础 ppt.ppt_第3页
VBA编程基础 ppt.ppt_第4页
VBA编程基础 ppt.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 VBA编程基础,2,第7章 VBA编程基础,7.1 VBA的编程环境,7.2 VBA模块简介,7.3 VBA程序设计基础,7.4 VBA流程控制语句,7.5 面向对象程序设计的基本概念,7.6 过程调用和参数传递,7.7 VBA的常用操作,7.8 用户定义类模块创建和引用,7.9 VBA程序运行错误处理,3,7.1 VBA的编程环境,直接进入:单击“数据库工具”选项卡,在“宏”组中单击“Visual Basic” 通过创建模块进入:单击“创建”选项卡,然后在“宏与代码”组中单击“Visual Basic” 通过窗体和报表等对象的设计进入“VBA”:通过控件的事件响应,选择“代码生成器”

2、进入代码编辑。,进入VBA环境的3中方式,4,7.2 VBA模块简介,7.2.1 标准模块 Sub子过程 Function函数过程 7.2.2 类模块 系统对象模块 窗体对象模块和报表对象模块等 用户定义类模块 过程是模块的主要组成单元,5,7.3 VBA程序设计基础,数据类型,6,7.3 VBA程序设计基础,变量与常量 变量是指程序运行时值会发生变化的数据。变量名的命名,同字段命名一样,变量命名不能包含有空格或除了下划线字符(_)外的任何其它的标点符号,其长度不得超过255个字符。 常量是在程序中可以直接引用的实际值,其值在程序运行中不变。不同的数据类型,常量的表现形式也不同,在VBA中有3

3、种常量:直接常量、符号常量和系统常量。,7,7.3 VBA程序设计基础,变量的声明 DimAs 例如:Dim NewVar_1 As Integer NewVa_1为整型变量 Dim NewVar_2%, sum! NewVar_2为整型变量,sum为单精度型变量 Dim NewVar_2%, sum! 相当于Dim NewVar_2 As Integer, sum As Single。,8,7.3 VBA程序设计基础,强制声明 在默认情况下,VBA允许在代码中使用未声明的变量,如果在模块设计窗口的顶部“通用-声明”区域中,加入语句: Option Explicit,9,7.3 VBA程序设计

4、基础,变量的作用域 局部范围 在子过程或函数过程中定义 Dim、Ststic、PrivateAs 模块范围 在模块通用区定义 Dim、Ststic、PrivateAs 全局范围 PublicAs,10,7.3 VBA程序设计基础,数据库对象变量 Access建立的数据库对象及其属性,均可被看成是VBA程序代码中的变量及其指定的值来加以引用。例如,Access中窗体与报表对象的引用格式为: Forms!窗体名称!控件名称.属性名称 或 Reports!报表名称!控件名称.属性名称,11,7.3 VBA程序设计基础,数组 数组是在有规则的结构中包含一种数据类型的一组数据,也称作数组元素变量。数组变

5、量由变量名和数组下标构成,通常用Dim语句来定义数组,定义格式为: Dim 数组名(下标下限 to 下标上限) 例如:Dim NewArray(10) As Integer 定义了11个整型数构成的数组,数组元素为NewArray(0)至NewArray(10) Dim NewArray(1 To 10) As Integer 定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10),12,7.3 VBA程序设计基础,7.3.4 常用标准函数 标准函数一般用于表达式中,有的能和语句一样使用。其使用形式如下: 函数名(,参数3,参数4,参数5) 其中,函数名必不可

6、少,函数的参数放在函数名后的圆括号中,参数可以是常量、变量或表达式,可以有一个或多个,少数函数为无参函数。每个函数被调用时,都会返回一个返回值。 算术函数 字符串函数 日期/时间函数 类型函数,13,7.3 VBA程序设计基础,7.3.5 运算符和表达式 运算符 1算术运算符 用于算术运算,主要有乘幂()、乘法(*)、除法(/)、整数除法()、求模运算(Mod)、加法(+)及减法()等7个运算符。 Dim MyValue 变量定义 MyValue = 10 Mod 4 返回2 MyValue =10 3 返回3,14,7.3 VBA程序设计基础,2关系运算符 用来表示两个或多个值或表达式之间的

7、大小关系,有相等(=)、不等()、小于()、小于相等(=)等6个运算符。 MyValue = ( 10 4) 返回True MyValue = ( 1=2 ) 返回False MyValue = (”周” ”刘” ) 返回False MyValue = ( #2013/12/25# = #2014/2/28# ) 返回True,15,7.3 VBA程序设计基础,3逻辑运算符 用于逻辑运算,包括:与(And)、或(Or)和非(Not)3个运算符。 MyValue = ( 10 4 AND 1 = 2 ) 返回False MyValue = ( 10 4 OR 1 = 2 ) 返回True,16,

8、7.3 VBA程序设计基础,运算符的优先级,17,7.4 VBA流程控制语句,VBA程序语句按照其功能不同分为两大类型: 一是声明语句,用于给变量、常量或过程定义命名;二是执行语句,用于执行赋值操作、调用过程、实现各种流程控制。 执行语句可分为3种结构: 1顺序结构:按照语句顺序顺次执行。如赋值语句、过程调用语句等。 2分支结构:又称选择结构,根据条件选择执行路径。 3循环结构:重复执行某一段程序语句。,18,7.4 VBA流程控制语句,7.4.1赋值语句 赋值语句是为变量指定一个值或表达式。通常以等号(=)连接。在前面我们已多次用到,其使用格式为: Let变量名 = 值或表达式 这里,Let

9、为可选项。 注意:“=”是赋值号,不是等号,19,7.4 VBA流程控制语句,7.4.2 条件语句 1IfThen语句(单分支结构) 语句结构为: If Then 或 If Then End If,20,7.4 VBA流程控制语句,2IfThenElse语句(双分支结构) 语句结构为: If Then Else 或 If Then Else End If,21,7.4 VBA流程控制语句,3IfThenElseIf语句(多分支结构) 语句结构为(图8.10所示): If Then ElseIf Then else End If,22,7.4 VBA流程控制语句,4Select CaseEnd

10、Select语句 使用格式如下: Select Case表达式 Case 表达式1 表达式的值与表达式1的值相等时执行的语句序列 Case 表达式2 To 表达式3 表达式的值介于表达式2的值和表达式3的值之间时执行的语句序列 Case Is 关系运算符表达式4 表达式的值与表达式4的值之间满足关系运算为真时执行的语句序列 Case Else 上面的情况均不符合时执行的语句序列 End Select,23,7.4 VBA流程控制语句,24,7.4 VBA流程控制语句,7.4.3 循环语句 1. ForNext语句 ForNext语句能够重复执行程序代码区域特定次数,使用格式如下: For 循环

11、变量=初值 To 终值Step 步长 循环体 条件语句序列 Exit For 结束条件语句序列 Next循环变量,25,7.4 VBA流程控制语句,2DoWhileLoop语句 使用格式如下: Do While 循环体 条件语句序列 Exit Do 结束条件语句序列 Loop,26,7.4 VBA流程控制语句,3Do UntilLoop语句 与DoWhileLoop结构相对应,还有另一个Do循环结构,DoUntilLoop结构。该结构是条件式值为假时,重复执行循环,直至条件式值为真,结束循环。条件表达式语句块FT图8.14 Do UntilLoop循环语句流程 循环流程如图8.14所示。 使用

12、格式如下: Do Until 循环体 条件语句序列 Exit Do 结束条件语句序列 Loop,27,7.4 VBA流程控制语句,4DoLoop While语句 Do 循环体 条件语句序列 Exit Do 结束条件语句序列 LoopWhile 条件式 循环流程如图8.15所示。,5DoLoop Until语句 Do 循环体 条件语句序列 Exit Do 结束条件语句序列 Loop Until 条件式 循环流程如图8.16所示。,28,7.4 VBA流程控制语句,29,7.5 面向对象程序设计的基本概念,7.5.1 集合和对象 一个对象就是一个实体,如一辆自行车或一个人等。每种对象都具有一些属性

13、以相互区分,如自行车的尺寸、颜色等。即属性可以定义对象的一个实例。 对象除了属性以外还有方法。对象的方法就是对象的可以执行的行为,自行车行走、人说话等。一般情况下,对象都具有多个方法。 在Access应用程序由表、查询、窗体、报表、宏和模块对象列表构成,形成不同的类。,30,7.5 面向对象程序设计的基本概念,7.5.2 属性和方法 属性和方法描述了对象的性质和行为。其引用方式为:对象.属性 或 对象.行为。 Access中“对象”可以是单一对象,也可以是对象的集合。例如,Label1.Caption属性表示“标签”控件对象的标题属性,Reports.Item(0)表示报表集合中的第一个报表对

14、象。数据库对象的属性均可以在各自的“设计”视图中,通过“属性窗体”进行浏览和设置 。,31,7.5 面向对象程序设计的基本概念,7.5.3 事件和事件过程 事件是Access窗体或报表及其上的控件等对象可以“辨识”的动作,如单击鼠标、窗体或报表打开等。在Access数据库系统里,可以通过两种方式来处理窗体、报表或控件的事件响应。一是使用宏对象来设置事件属性,对此前面已有叙述;二是为某个事件编写VBA代码过程,完成指定动作,这样的代码过程称为事件过程或事件响应代码。,32,7.7 VBA常见操作,8.7.1打开和关闭操作 1打开窗体操作 命令格式为: DoCmd.OpenForm formnam

15、e,view,filtername,wherecondition, datamode, windowmode 例如:以对话框形式打开名为“学生信息登录”窗体。 Docmd.OpenForm “学生信息登录”, acDialog 注意,参数可以省略,取缺省值,但分隔符”,”不能省略。,33,7.7 VBA常见操作,2打开报表操作 命令格式为: DoCmd.OpenReport reportname, view, filtername, wherecondition 例如:预览名为“学生信息表”报表的语句为: Docmd.OpenReport “学生信息表”, acViewPreview 注意,参数可以省略,取缺省值,但分隔符”,”不能省略。,34,7.7 VBA常见操作,3关闭操作 命令格式为: DoCmd.Close objecttype, objectname, save 例如:关闭名为“学生信息登录”窗体。 DoCmd.Close acForm, ”学生信息登录” 如果“学生信息登录”窗体就是当前窗体,则可以使用语句:DoCmd.Close。,35,7.7 VBA常见操作,8.7.2 输入和输出操作 1输入框(InputBox) InputBox(pro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论