VBA编程环境课件.ppt

上传人(卖家):三亚风情 文档编号:3604966 上传时间:2022-09-24 格式:PPT 页数:80 大小:320.51KB
下载 相关 举报
VBA编程环境课件.ppt_第1页
第1页 / 共80页
VBA编程环境课件.ppt_第2页
第2页 / 共80页
VBA编程环境课件.ppt_第3页
第3页 / 共80页
VBA编程环境课件.ppt_第4页
第4页 / 共80页
VBA编程环境课件.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

1、第第12章章 VBA编程编程12.1 VBA编程环境编程环境Access提供了多种方法启动提供了多种方法启动VBA编程环境,包括如下方式:编程环境,包括如下方式:按按Alt+F11组合键(该组合键还可以在数据库窗口和组合键(该组合键还可以在数据库窗口和VBE之间相互切换)。之间相互切换)。在数据库窗口中选择在数据库窗口中选择“工具工具”菜单,然后选择菜单,然后选择“宏宏”子菜子菜单中的单中的“Visual Basic编辑器编辑器”命令。命令。12.1.1 进入VBE12.1 VBA编程环境编程环境 单击数据库窗口中的单击数据库窗口中的“模块模块”按钮,然后双击要查看或编按钮,然后双击要查看或编

2、辑的模块,将启动辑的模块,将启动VBE,此时,此时VBE代码窗口中显示为该模块部分代码窗口中显示为该模块部分代码。代码。单击数据库窗口中的单击数据库窗口中的“模块模块”按钮,然后单击数据库窗口按钮,然后单击数据库窗口中的中的“新建新建”按钮,此时打开按钮,此时打开VBE窗口,并在窗口,并在VBE窗口中创建一窗口中创建一个空白模块。个空白模块。12.1.1 进入VBE12.1 VBA编程环境编程环境上述方法用于查看、编辑那些不在窗体和报表中的模块。要上述方法用于查看、编辑那些不在窗体和报表中的模块。要查看、编辑窗体或报表中的模块,可使用如下方式:查看、编辑窗体或报表中的模块,可使用如下方式:在在

3、“设计设计”视图中打开对象。然后单击设计工具栏上的视图中打开对象。然后单击设计工具栏上的“代码代码”按钮按钮 。打开。打开VBE环境,并打开该窗体或报表模块代码,环境,并打开该窗体或报表模块代码,显示位置为该模块的开头部分。显示位置为该模块的开头部分。12.1.1 进入VBE12.1 VBA编程环境编程环境 在在“设计设计”视图中打开对象。然后右击需要编写代码的控视图中打开对象。然后右击需要编写代码的控件,在弹出的快捷菜单中选择件,在弹出的快捷菜单中选择“事件生成器事件生成器”命令。打开命令。打开VBE环环境,并打开该窗体或报表模块代码,显示位置为该控件代码的开境,并打开该窗体或报表模块代码,

4、显示位置为该控件代码的开头部分。头部分。12.1.1 进入VBE12.1 VBA编程环境编程环境图图12.2是一个打开的是一个打开的VBE窗口。窗口。VBE环境通常由一些常用工环境通常由一些常用工具栏和多个子窗口组成(在刚开始打开的具栏和多个子窗口组成(在刚开始打开的VBE界面可能没有部分界面可能没有部分窗口和工具栏,如果需要,可以执行主菜单窗口和工具栏,如果需要,可以执行主菜单“视图视图”中的相应命中的相应命令来调出窗口和工具栏)。令来调出窗口和工具栏)。12.1.1 进入VBE图12.2 VBE窗口 12.1 VBA编程环境编程环境1VBE工具栏工具栏VBE中有多种工具栏,包括中有多种工具

5、栏,包括“调试调试”工具栏、工具栏、“编辑编辑”工具工具栏、栏、“标准标准”工具栏和工具栏和“用户窗体用户窗体”工具栏。工具栏。可以单击工具栏按钮来完成该按钮所指定的动作。如果要显可以单击工具栏按钮来完成该按钮所指定的动作。如果要显示工具栏按钮的工具提示,可以选择示工具栏按钮的工具提示,可以选择“选项选项”对话框对话框“标准标准”选选项卡中的项卡中的“显示工具提示显示工具提示”。12.1.2 VBE界面12.1 VBA编程环境编程环境“标准标准”工具栏包含几个常用的菜单项快捷方式的按钮。工具栏包含几个常用的菜单项快捷方式的按钮。“标准标准”工具栏是工具栏是VBE默认显示的工具栏。图默认显示的工

6、具栏。图12.3所示便是所示便是“标标准准”工具栏。工具栏。12.1.2 VBE界面 图 12.3 “标准”工具栏 12.1 VBA编程环境编程环境“标准标准”工具栏中各图标及其功能如表工具栏中各图标及其功能如表12.1所示。所示。12.1.2 VBE界面表 12.1 “标准”工具栏 名称 图标 说明 Access 视图 在主应用程序与活动的 Visual Basic 文档之间进行切换 插入模块 用于插入新模块,图标会变成最后一个添加的模块类型,默认值是窗体。表示模块,表示类模块,表示过程 保存 将包含工程及其所有部件(即窗体及模块)的主文档存盘 剪切 将选择的控件或文本删除并放置于“剪贴板”

7、中 12.1 VBA编程环境编程环境12.1.2 VBE界面名称 图标 说明 复制 将选择的控件或文本复制到“剪贴板”中 粘贴 将“剪贴板”的内容插入到当前位置 搜索 打开“查找”对话框并搜索“查找目标”文本框内指定的文本 撤销 撤销最后一个编辑动作 恢复 恢复最后一个文本编辑的撤销动作 运行子过程/用户窗体 运行模块程序 中断 中断正在运行的程序 终止运行/重新设计 结束正在运行的程序,重新进入模块设计状态 设计模式 在设计模式和非设计模式之间切换 工程资源管理器 打开工程资源管理器窗口 属性窗口 打开属性窗口 对象浏览器 打开对象浏览器窗口 工具箱 显示或隐藏工具箱 Office 助手 打

8、开 Office 助手进行帮助 12.1 VBA编程环境编程环境2VBE窗口窗口VBE使用多种不同窗口来显示不同对象或完成不同任务。使用多种不同窗口来显示不同对象或完成不同任务。VBE中的窗口有代码窗口、立即窗口、本地窗口、对象浏览器、中的窗口有代码窗口、立即窗口、本地窗口、对象浏览器、工程资源管理器、属性窗口、工具箱、用户窗体窗口和监视窗口工程资源管理器、属性窗口、工具箱、用户窗体窗口和监视窗口等。在等。在VBE窗口的窗口的“视图视图”菜单中包括了用于打开各种窗口的菜菜单中包括了用于打开各种窗口的菜单命令。单命令。12.1.2 VBE界面12.1 VBA编程环境编程环境(1)代码窗口)代码窗

9、口(2)立即窗口)立即窗口(3)监视窗口)监视窗口(4)本地窗口)本地窗口(5)对象浏览器)对象浏览器(6)工程资源管理器)工程资源管理器(7)属性窗口)属性窗口12.1.2 VBE界面12.1 VBA编程环境编程环境在在VBA中经常需要对函数或过程进行调试。中经常需要对函数或过程进行调试。VBA提供了若干提供了若干种调试的工具,主要有种调试的工具,主要有Debug.print和设置断点。和设置断点。1使用使用Debug.Print使用立即窗口的方法是在程序代码中加入使用立即窗口的方法是在程序代码中加入Debug.Print命令,命令,其作用是在屏幕上显示变量的当前值。其作用是在屏幕上显示变量

10、的当前值。12.1.3 调试过程12.1 VBA编程环境编程环境2设置断点设置断点另一个测试工具是断点调试法。一般来说,设置断点是为了另一个测试工具是断点调试法。一般来说,设置断点是为了观察程序运行时的状态。观察程序运行时的状态。在程序中指定的、希望暂停的地方设置断点。在程序暂停后,在程序中指定的、希望暂停的地方设置断点。在程序暂停后,可以在立即窗口中显示变量信息。可以在立即窗口中显示变量信息。12.1.3 调试过程12.2 VBA程序设计基础程序设计基础VBA数据类型继承了传统的数据类型继承了传统的Basic语言,如语言,如Microsoft QuickBasic。在。在VBA应用程序中,也

11、需要对变量的数据类型进应用程序中,也需要对变量的数据类型进行声明。行声明。VBA提供了较为完备的数据类型,提供了较为完备的数据类型,Access数据表中的字数据表中的字段使用的数据类型(段使用的数据类型(OLE对象和备注字段数据类型除外)在对象和备注字段数据类型除外)在VBA中都有对应的类型。中都有对应的类型。12.2.1 数据类型12.2 VBA程序设计基础程序设计基础VBA类型、类型声明符、数据类型、取值范围和默认值如表类型、类型声明符、数据类型、取值范围和默认值如表12.2所示。其中,字符串类型又分为变长字符串(所示。其中,字符串类型又分为变长字符串(String)和定)和定长字符串(长

12、字符串(String*length)。)。12.2.1 数据类型表 12.2 VBA 基本数据类型 VBA 类型 类型声明符 存储形式 取值范围 Byte 存储为 8 位(1 个字节)的数值形式 0255 Integer%存储为 16 位(2 个字节)的数值形式-32 76832 767 Boolean 存储为 16 位(2 个字节)的数值形式 True 和False Long&存储为32 位(4 个字节)有符号的数值形式-2 147 483 6482 147 483 647 负数:-3.402 823E38-1.401 298E-45 Single!存储为 32 位(4 个字节)浮点数值的形

13、式 正数:1.401 298E-453.402 823E38 12.2 VBA程序设计基础程序设计基础除了上述系统提供的基本数据类型外,除了上述系统提供的基本数据类型外,VBA还支持用户自定还支持用户自定义数据类型。自定义数据类型实质上是由基本数据类型构造而成义数据类型。自定义数据类型实质上是由基本数据类型构造而成的一种数据类型,可以根据需要来定义一个或多个自定义数据类的一种数据类型,可以根据需要来定义一个或多个自定义数据类型。型。12.2.1 数据类型负数:-1.797 693 134 862 31E308-4.940 656 484 124 7E-324 Double 存储为 64 位(8

14、 个字节)浮点数值的形式 正数:4.940 656 484 124 7E-3241.797 693 134 862 31E308 Currency 存储为 64 位(8 个字节)整型的数值形式-922 337 203 685922 337 203 685 String$变长与定长的字符串 根据字符串长度而定 Date 存储为 64 位(8 个字节)浮点数值形式 January 1,100 到December 31,9999 Object 存储为 32 位(4 个字节)的地址形式 Variant 可以是任何整型或实型 12.2 VBA程序设计基础程序设计基础1常量常量常量是指在程序运行的过程中其

15、值不能被改变的量。常量是指在程序运行的过程中其值不能被改变的量。(1)符号常量)符号常量(2)固有常量)固有常量(3)系统定义常量)系统定义常量12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础2变量变量变量实际上是一个符号地址,代表了命名的存储位置,包含变量实际上是一个符号地址,代表了命名的存储位置,包含在程序执行阶段修改的数据。每个变量都有变量名,在其作用域在程序执行阶段修改的数据。每个变量都有变量名,在其作用域范围内可唯一识别。使用前可以指定数据类型(即采用显式声范围内可唯一识别。使用前可以指定数据类型(即采用显式声明),也可以不指定(即采用隐式声明)。明),也可以不

16、指定(即采用隐式声明)。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础(1)变量的声明)变量的声明变量名必须以字母字符开头,在同一范围内必须是唯一的,变量名必须以字母字符开头,在同一范围内必须是唯一的,不能超过不能超过255个字符,而且中间不能包含句点或类型说明符号。个字符,而且中间不能包含句点或类型说明符号。对变量进行声明可以使用类型说明符号、对变量进行声明可以使用类型说明符号、Dim语句和语句和DefType语句。语句。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础 使用类型说明符号声明变量使用类型说明符号声明变量 使用使用Dim语句声明变量

17、语句声明变量 使用使用DefType语句声明变量语句声明变量 使用变体类型使用变体类型 用户自定义类型的声明与使用用户自定义类型的声明与使用12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础(2)变量的作用域和生命周期)变量的作用域和生命周期在声明变量作用域时可以将变量声明为在声明变量作用域时可以将变量声明为Locate(本地或局(本地或局部)、部)、Private(私有,(私有,Module模块级)或模块级)或Public(公共或全(公共或全局)。局)。本地变量本地变量 私有变量:私有变量:公共变量:公共变量:12.2.2 常量、变量与数组12.2 VBA程序设计基础程序

18、设计基础变量的生命周期与作用域是两个不同的概念,生命周期是指变量的生命周期与作用域是两个不同的概念,生命周期是指变量从首次出现(执行变量声明,为其分配存储空间)到消失的变量从首次出现(执行变量声明,为其分配存储空间)到消失的代码执行时间。代码执行时间。本地变量的生命周期是过程或函数被开始调用到运行结束的本地变量的生命周期是过程或函数被开始调用到运行结束的时间(静态变量除外)。时间(静态变量除外)。公共变量的生命周期是从声明到整个公共变量的生命周期是从声明到整个Access应用程序结束。应用程序结束。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础对于本地变量的生命周期的一

19、个例外是静态变量。静态变量对于本地变量的生命周期的一个例外是静态变量。静态变量的声明使用的声明使用“Static变量名变量名As数据类型数据类型”。静态变量在。静态变量在Access程序执行期间一直存在,其作用范围是声明它的子程序或函数。程序执行期间一直存在,其作用范围是声明它的子程序或函数。静态变量可以用来计算事件发生的次数或者是函数与过程被调用静态变量可以用来计算事件发生的次数或者是函数与过程被调用的次数。的次数。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础3数组数组数组是由一组具有相同数据类型的变量(称为数组元素)构数组是由一组具有相同数据类型的变量(称为数组元

20、素)构成的有序序列。数组变量由变量名和数组下标组成。成的有序序列。数组变量由变量名和数组下标组成。(1)数组的声明)数组的声明在在VBA中不允许隐式说明数组,用户可用中不允许隐式说明数组,用户可用Dim语句来声明数语句来声明数组,声明方式为:组,声明方式为:Dim数组名数组名(数组下标上界数组下标上界)As 数据类型数据类型12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础如果要定义多维数组,声明方式如下:如果要定义多维数组,声明方式如下:Dim 数组名数组名(数组第一维下标上界数组第一维下标上界,数组第二维下标上界数组第二维下标上界,)As 数据类型数据类型例如:例如:D

21、im intArray(2,3)As Integer该语句定义了一个二维数组,第一维有该语句定义了一个二维数组,第一维有3个元素,第二维有个元素,第二维有4个元素。个元素。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础在在VBA中,还允许用户定义动态数组。动态数组的定义方法中,还允许用户定义动态数组。动态数组的定义方法是,先使用是,先使用Dim来声明数组,但不指定数组元素的个数,而在以来声明数组,但不指定数组元素的个数,而在以后使用时再用后使用时再用ReDim来指定数组元素个数,称为数组重定义。在来指定数组元素个数,称为数组重定义。在对数组重定义时,可以使用对数组重定义

22、时,可以使用ReDim后加保留字后加保留字Preserve来保留来保留以前的值,否则使用以前的值,否则使用ReDim后数组元素的值会被重新初始化为默后数组元素的值会被重新初始化为默认值。认值。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础(2)数组的使用)数组的使用数组声明后,数组中的每个元素都可以当作单个的变量来使数组声明后,数组中的每个元素都可以当作单个的变量来使用,其使用方法与相同类型的普通变量相同。其元素引用格式为:用,其使用方法与相同类型的普通变量相同。其元素引用格式为:数组名数组名(下标值表下标值表)12.2.2 常量、变量与数组12.2 VBA程序设计基础

23、程序设计基础其中,如果该数组为一维数组,则下标值表为一个范围为其中,如果该数组为一维数组,则下标值表为一个范围为数组下标下界,数组下标上界数组下标下界,数组下标上界的整数;如果该数组为多维数组,的整数;如果该数组为多维数组,则下标值表为一个由多个(不大于数组维数)用逗号分开的整数则下标值表为一个由多个(不大于数组维数)用逗号分开的整数序列,每个整数(范围为序列,每个整数(范围为该维数组下标下界,该维数组下标上该维数组下标下界,该维数组下标上界界)表示对应的下标值。)表示对应的下标值。12.2.2 常量、变量与数组12.2 VBA程序设计基础程序设计基础运算是对数据的加工,最基本的运算形式常常可

24、以用一些简运算是对数据的加工,最基本的运算形式常常可以用一些简洁的符号来描述,这些符号称为运算符。表达式是许多洁的符号来描述,这些符号称为运算符。表达式是许多Access操操作的基本组成部分,是运算符、常量、文字值、函数和字段名、作的基本组成部分,是运算符、常量、文字值、函数和字段名、控件和属性的任意组合,可以使用表达式作为很多属性和操作参控件和属性的任意组合,可以使用表达式作为很多属性和操作参数的设置;可以在窗体、报表和数据访问页中定义计算控件;可数的设置;可以在窗体、报表和数据访问页中定义计算控件;可以在查询中设置准则或定义计算字段以及在宏中设置条件;等等。以在查询中设置准则或定义计算字段

25、以及在宏中设置条件;等等。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础1算术运算符与算术表达式算术运算符与算术表达式算术运算符是常用的运算符,用来执行简单的算术运算。算术运算符是常用的运算符,用来执行简单的算术运算。VBA提供了提供了8个算术运算符,如表个算术运算符,如表12.4所示。所示。12.2.3 运算符与表达式表 12.4 算术运算符 运算 运算符 表达式示例 指数运算 XY 取负运算-X 乘法运算*X*Y 浮点数除法运算/X/Y 整数除法运算 XY 取模运算 Mod X Mod Y 加法运算+X+Y 减法运算-X-Y 12.2 VBA程序设计基础程序设计基础在

26、在8个算术运算符中,除取负(个算术运算符中,除取负(-)是单目运算符外,其他均)是单目运算符外,其他均为双目运算符。加(为双目运算符。加(+)、减()、减(-)、乘()、乘(*)、取负()、取负(-)几个运)几个运算符的含义与数学中基本相同,下面介绍其他几个运算符的操作。算符的含义与数学中基本相同,下面介绍其他几个运算符的操作。(1)指数运算)指数运算指数运算用来计算乘方和方根,其运算符为指数运算用来计算乘方和方根,其运算符为,28表示表示2的的8次方,而次方,而2(1/2)或)或20.5是计算是计算2的平方根。的平方根。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础(2

27、)浮点数除法与整数除法运算)浮点数除法与整数除法运算浮点数除法运算符(浮点数除法运算符(/)执行标准除法操作,其结果为浮点)执行标准除法操作,其结果为浮点数。数。整数除法运算符(整数除法运算符()执行整除运算,结果为整型值,因此,)执行整除运算,结果为整型值,因此,表达式表达式52的值为的值为2。整除的操作数一般为整型值。整除的操作数一般为整型值。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础(3)取模运算)取模运算取模运算符(取模运算符(Mod)用来求余数,其结果为第)用来求余数,其结果为第1个操作数整个操作数整除第除第2个操作数所得的余数。个操作数所得的余数。表表12

28、.4按优先顺序列出了算术运算符。在按优先顺序列出了算术运算符。在8个算术运算符中,个算术运算符中,指数运算符(指数运算符()优先级最高,其次是取负()优先级最高,其次是取负(-)运算符、乘法)运算符、乘法(*)、浮点数除法()、浮点数除法(/)、整数除法()、整数除法()、加法()、加法(+)、减法)、减法(-)。)。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础其中,乘法与浮点数除法是同级运算符,加法与减法是同级其中,乘法与浮点数除法是同级运算符,加法与减法是同级运算符。当一个表达式中含有多种算术运算符时,必须严格按上运算符。当一个表达式中含有多种算术运算符时,必须严格

29、按上述顺序求值。此外,如果表达式中含有括号,则先计算括号内表述顺序求值。此外,如果表达式中含有括号,则先计算括号内表达式的值;有多层括号时,先计算内层括号中的表达式。达式的值;有多层括号时,先计算内层括号中的表达式。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础2字符串连接符与字符串表达式字符串连接符与字符串表达式字符串连接符(字符串连接符(&)用来连接多个字符串(字符串相加)。)用来连接多个字符串(字符串相加)。在在VBA中,中,“+”既可用作加法运算符,还可以用作字符串既可用作加法运算符,还可以用作字符串连接符,但连接符,但“&”专门用作字符串连接,其作用与专门用作字

30、符串连接,其作用与“+”相同。在相同。在有些情况下,用有些情况下,用“&”比用比用“+”可能更安全。可能更安全。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础3关系与逻辑运算符、关系表达式关系与逻辑运算符、关系表达式(1)关系运算符与关系表达式)关系运算符与关系表达式关系运算符也称为比较运算符,用来对两个表达式的值进行关系运算符也称为比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(比较,比较的结果是一个逻辑值,即真(True)或假()或假(False)。用关系运算符连接两个算术表达式所组成的表达式称为关系表达用关系运算符连接两个算术表达式所组成的表

31、达式称为关系表达式。式。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础VBA提供了提供了6个关系运算符,如表个关系运算符,如表12.5所示。所示。12.2.3 运算符与表达式表 12.5 关系运算符列表 运算符 测试关系 表达式示例=相等 X=Y 或 不等于 XY 小于 X 大于 XY=小于等于 X=大于等于 X=Y 12.2 VBA程序设计基础程序设计基础(2)逻辑运算符)逻辑运算符逻辑运算也称为布尔运算,由逻辑运算符连接两个或多个关逻辑运算也称为布尔运算,由逻辑运算符连接两个或多个关系式,组成一个布尔表达式。系式,组成一个布尔表达式。VBA提供了提供了6种逻辑运算符,

32、如表种逻辑运算符,如表12.6所示。所示。12.2.3 运算符与表达式表 12.6 逻辑运算符列表 运算符 说明 NOT 非,由真变假或由假变真 AND 与,两个表达式同时为真则值为真,否则为假 OR 或,两个表达式中有一个表达式为真则为真,否则为假 XOR 异或,两个表达式同时为真或同时为假则值为假,否则为真 EQV 等价,两个表达式同时为真或同时为假则值为真,否则为假 IMP 蕴涵,第 1 个表达式为真且第 2 个表达式为假则值为假,否则为真 12.2 VBA程序设计基础程序设计基础4对象运算符与对象运算表达式对象运算符与对象运算表达式(1)对象运算符)对象运算符对象运算表达式中使用对象运

33、算表达式中使用“!”和和“.”两种运算符,使用对象运两种运算符,使用对象运算符指示随后将出现的项目类型。算符指示随后将出现的项目类型。12.2.3 运算符与表达式12.2 VBA程序设计基础程序设计基础(2)在表达式中引用对象)在表达式中引用对象在表达式中可以使用标识符来引用一个对象或对象的属性。在表达式中可以使用标识符来引用一个对象或对象的属性。例如,可以引用一个开启的报表的例如,可以引用一个开启的报表的Visible属性:属性:Reports!订单订单!订单订单ID.Visible发订单发订单引用引用“订单订单”报表,报表,单位单位引用引用“订单订单”报表上的报表上的“订单订单ID”控件。

34、控件。12.2.3 运算符与表达式12.3 程序流程控制程序流程控制1行行If语句语句If语句结构如下:语句结构如下:If 条件条件 Then 语句语句1If 条件条件 hen 语句语句1 Else 语句语句2其中,语句其中,语句1和语句和语句2可以是任何一条可以是任何一条VBA的可执行语句。的可执行语句。也就是说,语句也就是说,语句1和语句和语句2也可以是一条行也可以是一条行If语句。语句。12.3.1 分支结构12.3 程序流程控制程序流程控制If语句在执行时首先判断条件是否为真,如果为真,则执行语句在执行时首先判断条件是否为真,如果为真,则执行语句语句1;否则,执行;否则,执行Else后

35、面的语句后面的语句2。如果条件为假,又没有。如果条件为假,又没有Else语句,则跳过该行语句。语句,则跳过该行语句。行行If语句的特点是在一行中写完该语句,不以语句的特点是在一行中写完该语句,不以End If结束。结束。行行If语句也可以嵌套使用。语句也可以嵌套使用。12.3.1 分支结构12.3 程序流程控制程序流程控制2块块If语句语句块块If语句结构如下:语句结构如下:If条件条件Then 语句组语句组1Else 语句组语句组2End If12.3.1 分支结构12.3 程序流程控制程序流程控制这是最简单的块这是最简单的块If语句。其中,语句组语句。其中,语句组1和语句组和语句组2可以是

36、多可以是多条条VBA的可执行语句。的可执行语句。在执行时也是首先判断条件是否为真,如果为真,则执行语在执行时也是首先判断条件是否为真,如果为真,则执行语句组句组1;否则,执行;否则,执行Else块中的语句组块中的语句组2。如果条件为假,又没有。如果条件为假,又没有Else块,则跳过该块,则跳过该If语句。语句。12.3.1 分支结构12.3 程序流程控制程序流程控制块块If语句还可以使用另一种结构:语句还可以使用另一种结构:If 条件条件1 Then语句组语句组1ElseIf 条件条件2 Then语句组语句组2ElseIf 条件条件3 Then语句组语句组312.3.1 分支结构12.3 程序

37、流程控制程序流程控制 ElseIf 条件条件n Then语句组语句组nElse语句组语句组n+1End If12.3.1 分支结构12.3 程序流程控制程序流程控制3iif函数函数iif函数是函数是If语句的一种特殊格式,使用语法如下:语句的一种特殊格式,使用语法如下:varX=iif(条件条件,表达式表达式1,表达式表达式2)iif函数的作用是:先判断条件,如果条件为真,就返回表达函数的作用是:先判断条件,如果条件为真,就返回表达式式1的值;否则返回表达式的值;否则返回表达式2的值。的值。12.3.1 分支结构12.3 程序流程控制程序流程控制4Select Case语句语句If语句只能根据

38、一个条件的是或非两种情况进行选择。如果语句只能根据一个条件的是或非两种情况进行选择。如果要处理有多种选择的情况则必须使用要处理有多种选择的情况则必须使用If语句进行多重嵌套,这使语句进行多重嵌套,这使句子结构变得十分复杂,可读性降低。处理多种选择最有效的方句子结构变得十分复杂,可读性降低。处理多种选择最有效的方法是使用法是使用Select Case语句。语句。12.3.1 分支结构12.3 程序流程控制程序流程控制下面的例子说明了下面的例子说明了Select Case语句的结构和用法:语句的结构和用法:Select Case IntX Case 0 MsgBox 不合格产品不合格产品 Case

39、 1,2,3 MsgBox 特种产品特种产品 Case 5 To 10 MsgBox 内部消费品内部消费品 12.3.1 分支结构12.3 程序流程控制程序流程控制Case Is100 MsgBox 出口优质产品出口优质产品 Case Else MsgBox 特殊情况特殊情况End Select12.3.1 分支结构12.3 程序流程控制程序流程控制Select Case先对其后的字符串、数值变量或表达式求值,先对其后的字符串、数值变量或表达式求值,然后按顺序与每个然后按顺序与每个Case表达式进行比较。表达式进行比较。Case表达式可以有多表达式可以有多种形式:种形式:单个值或一列值,相邻两

40、个值之间用逗号隔开。单个值或一列值,相邻两个值之间用逗号隔开。用关键字用关键字To指定值的范围,其中第指定值的范围,其中第1个值不应大于第个值不应大于第2个个值,对字符串将比较第一个字符的值,对字符串将比较第一个字符的ASCII码大小。码大小。12.3.1 分支结构12.3 程序流程控制程序流程控制 使用关键字使用关键字Is指定条件。指定条件。Is后紧接关系运算符(如后紧接关系运算符(如、=和和等)和一个变量或值。等)和一个变量或值。前面的前面的3种条件形式混用,多个条件之间用逗号隔开。种条件形式混用,多个条件之间用逗号隔开。Case语句按先后顺序进行比较,执行与第语句按先后顺序进行比较,执行

41、与第1个个Case条件相条件相匹配的代码。若不存在匹配的条件,则执行匹配的代码。若不存在匹配的条件,则执行Case Else语句。然语句。然后程序将从后程序将从End Select语句后的代码行继续执行。如果语句后的代码行继续执行。如果Select Case所求得的值是数值类型,则所求得的值是数值类型,则Case条件中的表达式都必须是条件中的表达式都必须是数值类型。数值类型。12.3.1 分支结构12.3 程序流程控制程序流程控制1While循环循环While循环结构如下:循环结构如下:While条件条件 循环体循环体WendWhile循环是当型循环,当条件满足时执行循环体。循环是当型循环,当

42、条件满足时执行循环体。12.3.2 循环结构12.3 程序流程控制程序流程控制2Do WhileLoop和和DoLoop WhileDo WhileLoop循环与循环与While循环都是当型循环,先判断循环都是当型循环,先判断条件,当条件满足时执行循环体。条件,当条件满足时执行循环体。而而DoLoop While语句先执行一次循环体,再判断条件,语句先执行一次循环体,再判断条件,条件满足时再执行循环体。这种循环被称为直到型循环。条件满足时再执行循环体。这种循环被称为直到型循环。12.3.2 循环结构12.3 程序流程控制程序流程控制3Do UntilLoop和和DoLoop UntilDo U

43、ntilLoop为当型循环,为当型循环,DoLoop Until是直到型循是直到型循环。环。先执行一次循环体,再判断条件,当条件不成立时执行循环先执行一次循环体,再判断条件,当条件不成立时执行循环体。体。Do WhileLoop、DoLoop While、Do UntilLoop和和DoLoop Until循环体中都可以使用循环体中都可以使用Exit Do跳出循环。跳出循环。12.3.2 循环结构12.3 程序流程控制程序流程控制4For循环循环ForNext语句常用于按指定次数重复地执行一组操作。其语句常用于按指定次数重复地执行一组操作。其语法结构如下:语法结构如下:For 循环控制变量循环

44、控制变量=初值初值 To 终值终值 Step 步长步长循环语句循环语句Next其中,其中,“Step步长步长”可以省略,省略时步长值为可以省略,省略时步长值为1。12.3.2 循环结构12.3 程序流程控制程序流程控制循环控制变量可以是整型、长整型、实数(单精度和双精度)循环控制变量可以是整型、长整型、实数(单精度和双精度)以及字符串,但最常用的还是整型和长整型变量。循环控制变量以及字符串,但最常用的还是整型和长整型变量。循环控制变量的初值和终值的设置受步长的约束。当步长为负数时,初值不小的初值和终值的设置受步长的约束。当步长为负数时,初值不小于终值才可能执行循环体;当步长为正数时,初值不大于

45、终值才于终值才可能执行循环体;当步长为正数时,初值不大于终值才可能执行循环体。可能执行循环体。12.3.2 循环结构12.3 程序流程控制程序流程控制For循环执行步骤如下:循环执行步骤如下:(1)将初值赋给循环控制变量。)将初值赋给循环控制变量。(2)判断循环控制变量是否在初值与终值之间。)判断循环控制变量是否在初值与终值之间。(3)如果循环控制变量超出范围,则跳出循环;否则继续)如果循环控制变量超出范围,则跳出循环;否则继续执行循环体。执行循环体。(4)在执行完循环体后,将循环变量加上步长赋给循环变)在执行完循环体后,将循环变量加上步长赋给循环变量,再返回(量,再返回(2)继续执行。)继续

46、执行。12.3.2 循环结构12.3 程序流程控制程序流程控制For循环的循环次数可以按如下公式计算:循环的循环次数可以按如下公式计算:循环次数循环次数=(终值终值-初值初值)/步长步长+1在循环体中,如果需要,可以使用在循环体中,如果需要,可以使用Exit For跳出循环体。跳出循环体。5For EachNext语句语句For EachNext语句用于对一个数组或集合中的每个元素语句用于对一个数组或集合中的每个元素重复执行一组语句。重复执行一组语句。12.3.2 循环结构12.4 模块、函数与子过程模块、函数与子过程按模块的不同使用情况,可以将按模块的不同使用情况,可以将Access中的模块

47、分成中的模块分成4种:种:Access模块、窗体模块、报表模块和类模块。模块、窗体模块、报表模块和类模块。Access模块:也称为标准模块,可在模块:也称为标准模块,可在“数据库数据库”窗口的窗口的对象栏中单击对象栏中单击“模块模块”来查看数据库拥有的标准模块。来查看数据库拥有的标准模块。窗体模块:由处理窗体和窗体控件所触发的事件过程组成。窗体模块:由处理窗体和窗体控件所触发的事件过程组成。12.4.1 模块12.4 模块、函数与子过程模块、函数与子过程 报表模块:包含了用于处理报表、报表段或页眉报表模块:包含了用于处理报表、报表段或页眉/页脚所页脚所触发的事件处理程序的代码。触发的事件处理程

48、序的代码。类模块:不与窗体和报表相关联,允许用户定义自己的对类模块:不与窗体和报表相关联,允许用户定义自己的对象、属性和方法。象、属性和方法。12.4.1 模块12.4 模块、函数与子过程模块、函数与子过程模块的通用声明部分用来对要在模块中或模块之间使用的变模块的通用声明部分用来对要在模块中或模块之间使用的变量、常量、自定义数据类型以及模块级量、常量、自定义数据类型以及模块级Option语句进行声明。语句进行声明。模块中可以使用的模块中可以使用的Option语句包括语句包括Option Base语句、语句、Option Compare语句、语句、Option Explicit语句和语句和Opt

49、ion Private语句。语句。12.4.1 模块12.4 模块、函数与子过程模块、函数与子过程1函数与子过程的定义函数与子过程的定义子程序定义的语法结构如下:子程序定义的语法结构如下:Sub子程序名子程序名()子程序代码子程序代码End Sub12.4.2 函数与子过程12.4 模块、函数与子过程模块、函数与子过程函数定义的语法结构如下:函数定义的语法结构如下:Function函数名函数名(参数参数)As 数据类型数据类型 函数代码函数代码End Function与定义符号常量、变量和自定义数据类型相似,可以在函数与定义符号常量、变量和自定义数据类型相似,可以在函数和子过程定义时使用和子过

50、程定义时使用Public、Private或或Static前缀来声明子程前缀来声明子程序和函数的作用范围。序和函数的作用范围。12.4.2 函数与子过程12.4 模块、函数与子过程模块、函数与子过程自定义函数的使用和内部函数的使用完全相同,采用函数名自定义函数的使用和内部函数的使用完全相同,采用函数名直接进行调用,并只能用于表达式中参与运算或给变量赋值。直接进行调用,并只能用于表达式中参与运算或给变量赋值。在在Access模块中的子程序和函数如果不使用模块中的子程序和函数如果不使用Private进行声进行声明,则都是公共的。公共的子程序和函数可以被任何其他模块调明,则都是公共的。公共的子程序和函

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(VBA编程环境课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|