《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章

上传人:E**** 文档编号:89403246 上传时间:2019-05-24 格式:PPT 页数:36 大小:469KB
返回 下载 相关 举报
《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 _第1页
第1页 / 共36页
《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 _第2页
第2页 / 共36页
《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 _第3页
第3页 / 共36页
《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 _第4页
第4页 / 共36页
《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 _第5页
第5页 / 共36页
点击查看更多>>
资源描述

《《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 》由会员分享,可在线阅读,更多相关《《数据库技术-Access及其应用系统开发》-李禹生-电子教案及实例数据库 数据库access应用系统开发与设计 第七章 (36页珍藏版)》请在金锄头文库上搜索。

1、数据库技术,国家十一五规划教材(高职高专),中国水利水电出版社,Access及其应用系统开发,第7章 Access程序设计基础,本章学习要点 掌握VBA程序设计语言基础 学习VBA程序结构控制语句 学习VBA程序调试与错误处理的基本方法 掌握基本的Access程序设计方法,7.1 VBA程序设计语言基础,7.1.1 数据类型 VBA数据类型继承了传统的Basic语言,如Microsoft QuickBasic。在VBA应用程序中,也需要对变量的数据类型进行说明。VBA提供了较为完备的数据类型,Access数据表中字段使用的数据类型(OLE对象和备注字段数据类型除外)在VBA中都有对应的类型。V

2、BA数据类型、类型声明符、数据类型和取值范围如表。,7.1 VBA程序设计语言基础,7.1 VBA程序设计语言基础,7.1.2 常量、变量与数组 1 常量 常量是指在程序运行的过程中,其值不能被改变的量。常量的使用可以增加代码的可读性,并且使代码更加容易维护。此外,使用固有常量Microsoft Access、Microsoft for Access Applications等支持的常量,可以保证既是常量所代表的基础值在Microsoft Access版本升级换代后也能使代码正常运行。 除了直接常量(即通常的数值或字符串值常量,如:123,“Lee“等)外,VBA还支持三种类型的常量: 符号常

3、量:用Const语句创建,并且在模块中使用的常量; 固有常量:是Microsoft Access或引用库的一部分; 系统定义常量:True、False和Null。,7.1 VBA程序设计语言基础,2 变量 变量实际上是一个符号地址,它代表了命名的存储位置,包含在程序执行阶段修改的数据。每个变量都有变量名,在其作用域范围内可唯一识别。使用前可以指定数据类型(即采用显式声明),也可以不指定(即采用隐式声明)。 (1)变量的声明 变量名必须以字母字符开头,在同一范围内必须是唯一的,不能超过255个字符,而且中间不能包含句点或类型声明字符。 虽然,在VBA代码中允许使用未经声明的变量,但一个良好的编程

4、习惯应该是在程序开始几行声明将用于本程序的所有变量。这样做的目的是为了避免数据输入的错误,提高应用程序的可维护性。 对变量进行声明可以使用类型说明符号、Dim语句和DefType语句。,7.1 VBA程序设计语言基础,(2)变量的作用域和生命周期 VBA变量除了具有类型属性之外,还具有作用域属性。VBA变量的作用域属性也须在声明变量时作出明确的声明才能确定。在声明变最作用域时可以将变量声明为Locate(本地)、Private(私有,Module模块级)或Public(公共)。,7.1 VBA程序设计语言基础,3 VBA数组 数组是由一组具有相同数据类型的变量(称为数组元素)构成的集合。 (1

5、)数组的声明 (2)数组的使用,7.1 VBA程序设计语言基础,7.1.3 运算符与表达式 运算是对数据的加工,最基本的运算形式常常可以用一些简洁的符号来描述,这些符号称为运算符或操作符。VBA提供了丰富的运算符,可以构成多种表达式。表达式是许多 Microsoft Access 操作的基本组成部分,是运算符、常量、文字值、函数和字段名、控件和属性的任何组合,可以使用表达式作为很多属性和操作参数的设置;在窗体、报表和数据访问页中定义计算控件;在查询中设置准则或定义计算字段以及在宏中设置条件;等等。,7.1 VBA程序设计语言基础,1算术运算符与算术表达式,7.1 VBA程序设计语言基础,2 字

6、符串连接符与字符串表达式 字符串连接(&)用来连接多个字符串(字符串相加)。在VBA中,“+”既可用作加法运算符,还可以用作字符串连接符,但“&”专门用作 字符串连接运算符,其作用与“+”相同。在有些情况下,用“&”比用“+”可能更安全。,7.1 VBA程序设计语言基础,3 关系与逻辑运算符、逻辑表达式及其取值 (1) 关系运算符与关系表达式 关系运算符也称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(True)或假(False)。用关系运算符连接两个算术表达式所组成的表达式叫做关系表达式。,7.1 VBA程序设计语言基础,(2) 逻辑运算符 逻辑运算也称布尔运算,由

7、逻辑运算符连接两个或多个关系式,组成一个布尔表达式。,7.1 VBA程序设计语言基础,4 对象运算符与对象运算表达式 (1)对象运算符 对象运算表达式中使用 ! 和. 两种运算符,使用对象运算符指示随后将出现的项目类型。 !运算符 !运算符的作用是指出随后为用户定义的内容。 使用 ! 运算符可以引用一个开启的窗体、报表或开启窗体或报表上的控件。,7.1 VBA程序设计语言基础,. (点) 运算符 . (点) 运算符通常指出随后为 Microsoft Access 定义的内容。例如,使用 . (点)运算符可引用窗体、报表或控件等对象的属性。 (2)在表达式中引用对象 在表达式中可以使用标识符来引

8、用一个对象或对象的属性。,7.2 程序流程控制,无论是结构化程序设计还是面向对象的程序设计,程序的流程一般分为三种:顺序结构、分支结构和循环结构。,7.2.1 分支结构 1行if语句 if 条件 then 语句l else语句2 其中语句1和语句2可以是一条任何VBA的可执行语句。也就是说,语句l和语句2也可以是一条行if语句。 行if语句在执行时首先判断条件是否为真,如果为真,则执行语句l;否则执行Else后面的语句2。如果条件为假,又没有Else,则跳过该行语句。,7.2 程序流程控制,2 块lf语句 If 条件Then 语句组l Else 语句组2 End If 这是最简单的块if语句。

9、其中,语句组l和语句组2可以是多条任何VBA的可执行语句。在执行时也是首先判断条件是否为真,如果为真,则执行语句组l;否则执行else块中的语句组2。如果条件为假,又没有else块,则跳过该if语句。,7.2 程序流程控制,3 iif函数 iif函数是if语句的一种特殊格式,它的使用语法如下: varXyz=iif(条件,表达式1,表达式2) iif函数的作用是,先判断条件,如果条件为真,返回表达式l的值;否则返回表达式2的值。,4 Select Case语句 if语句只能根据一个条件的是或非两种情况进行选择。如果要处理有多种选择的情况则必须使用if语句进行多重嵌套,使句子结构变得十分复杂,可

10、读性降低。处理多种选择最有效的方法是使用Select Case语句。,7.2 程序流程控制,7.2.2 循环语句 1While循环 While循环结构如下: While条件 循环体 Wend,2Do WhileLoop和DoLoop While Do WhileLoop循环与While循环都是当型循环,先判断条件,当条件满足时执行循环体。,3DO UntilLoop和DO Loop Until 前者为当型循环,后者是直到型循环。,7.2 程序流程控制,4 For循环 ForNext语句常用于实现指定次数地重复执行一组操作。其语法结构如下: For循环控制变量=初值To终值 Step步长 循环语

11、句 Next,7.2 程序流程控制,其中,“Step步长”可以省略,省略时步长值为l。循环控制变量可以是整型、长整型、实数(单精度和双精度)以及字符串。但最常用的还是整型和长整型变量。循环控制变量的初值和终值的设置受步长的约束。当步长为负数时,初值不小于终值才可能执行循环体。当步长为正数时,初值不大于终值才可能执行循环体。 5For Each.Next语句 用于对一个数组或集合中的每个元素,重复执行一组语句。,7.3 VBA编程环境,7.3.1 进入VBE,当我们选中一个需要编写代码的控件,并准备为其对某一事件的响应方法编写VBA代码时,就应该启动VBE,在VBA编程环境中进行VBA代码编辑操

12、作。Access提供了多种方法启动VBA编程环境,包括如下方式: 按“Alt+F11”组合键(该组合键还可以在数据库窗口和VBE之间相互切换)。 在数据库窗口中单击【工具】|【宏】|【Visual Basic编辑器】。 单击数据库窗口中的“模块”选项卡按钮,然后单击数据库窗口中的“新建”按钮,此时打开VBE窗口,并在VBE窗口中创建一个空白模块。 ,然后双击要查看或编辑的模块,将启动VBE,此时VBE代码窗口中显示为该模块部分代码。 单击数据库窗口中的“模块”选项卡按钮,此时打开VBE窗口,并在VBE窗口中创建一个空白模块 。,7.3 VBA编程环境,7.3 VBA编程环境,7.3.2 VBE

13、窗口组成,1VBE工具栏 VBE中有多种工具栏,包括“调试”工具栏、“编辑”工具栏、“标准”工具栏和“用户窗体”工具栏。,(1)“标准”工具栏 (2)“编辑”工具栏 (3)“调试”工具栏 (4)“用户窗体”工具栏,7.3 VBA编程环境,2VBE窗口 VBE使用一组窗口来显示不同对象或是完成不同任务。VBE窗口组包括:代码窗口、立即窗口、本地窗口、对象浏览器、工程资源管理器、属性窗口、工具箱、用户窗体窗口和监视窗口等。在VBE窗口的“视图”菜单中包括了用于打开各种窗口的菜单命令。,7.4 VBA模块与子过程,7.4.1 VBA模块,按模块的不同使用情况,可以将Access中的模块分成四种:Ac

14、cess模块、窗体模块、报表模块和类模块。 Access模块也称标准模块,可在“数据库”窗口的对象栏中单击“模块”来查看数据库拥有的标准模块。 窗体模块是由处理由窗体和窗体控件所触发的事件的所有事件的过程组成的。当用户向窗体中添加一个控件时,也同时将控件对应的事件过程代码添加到了窗体模块中。,7.4 VBA模块与子过程,报表模块包含了用于处理报表、报表段或页眉/页脚所触发的事件的处理程序的代码。虽然可以在报表中加入控件,但通常不这样做,因为报表中的控件对象不触发事件。报表中的模块操作与窗体模块的操作完全相同。 类模块不与窗体和报表相关联,允许用户定义自己的对象、属性和方法。 无论是哪一种模块,

15、它都是由一个模块通用声明部分以及一个或多个过程(也称为子程序)或函数组成。,7.4 VBA模块与子过程,1 VBA子过程的定义 Sub子程序名() 子程序代码 End Sub 2 VBA函数的定义 Function 函数名(参数)As数据类型 函数代码 End Function 3 VBA子过程与函数定义的说明,7.4.2 VBA子过程,7.4.2 VBA子过程,7.4 VBA模块与子过程,与定义符号常量、变量和自定义数据类型类似,可以在函数和子过程定义时使用Public、Private或Static前缀来声明子程序和函数的作用范围。使用Static定义的子过程和函数都是静态的,这是指子过程和

16、函数被调用完成后,子过程和函数中的所有变量的值仍被保留。当下一次被调用时,这些变量的值仍然可以使用。而不用Static声明的子过程和函数中的变量的值在调用完成后不保留,下一次再被调用时,过程中的变量重新进行初始化。自定义函数的使用和内部函数的使用完全相同,采用函数名直接进行调用,并只能用于表达式中参与运算或给变量赋值。,7.4.2 VBA子过程,7.4 VBA模块与子过程,7.4.2 VBA子过程,4 事件过程与函数的调用 (1)事件过程数的调用方法 事件过程的调用可以称为是事件触发。当一个对象的事件发生的时候,对应的事件过程会被自动调用。例如,我们在前面为窗体命令创建了一个“单击”事件过程。那么,这个“单击”事件过程会在对应的命令按钮被用户单击之后,被自动调用执行。 子程序可以使用如下方式来进行调用: Call 子程序名 使用Call的关键是显式地调用过程,Call可以在使用时省略不用。使用Call显式地调用过程是值得提倡的设计程序的良好习惯,因为Call关键字标明了其后是过程名而不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号