1、第九章 模块,模块是Microsoft Access数据库中的一个重要对象,是由VBA(Visual Basic for Application)语言编写的程序的集合。 本章主要针对模块的基本概念、模块创建方法和VBA程序设计基础进行简单的介绍。,9.1模块的基本概念,模块是Access的数据库中的一个重要对象。是以函数过程(Function)或子过程(Sub) 9.1.1模块的分类Access中的模块可以分为两种类型:类模块和标准模块。 1. 类模块 2. 标准模块,9.1模块的基本概念,9.1.2 模块组成 通常,模块是由以下两部分组成: 1声明部分:可以在声明部分定义变量、常量、自定义类型和外部过程。在模块中,声明部分和过程部分是分割开来的,声明部分定义的常量和变量是全局的,可以被模块中的所有过程调用。 2事件过程部分:事件过程是一种自动执行的过程,用来对用户或者程序代码启动的事件或系统触发的事件做出响应,事件过程又分为子(Sub)过程和函数(Function)过程。,9.1.3模块与宏的区别 使用“宏”更加简单,不需要编程,而使用“模块”,要求对编程有基本知识,比较复杂。 模块
2、的运行速度比较快,而“宏”运行速度比较慢。 宏的每个基本操作在VBA中都有相应的等效命令,如果在“模块”中使用这些语句就可以实现所有的单独的“宏”命令,所以“模块”的功能比“宏”更加强大 9.1.4将宏转换为模块,9.2模块创建,类模块和标准模块进入VBA编辑环境的方法是不一样的。 9.2.1创建类模块 方法一:定位窗体、报表或者其中的某一个控件,单击工具栏“代码”按钮。 方法二:通过窗体、报表或者控件“属性”窗口中“事件”选项卡的“事件过程”项进入。,9.2模块创建,9.2.2创建标准模块 标准模块的创建过程主要有以下两种方法:方法一:在数据库窗体选择“模块”对象,单击数据库窗口上边的“新建”按钮。方法二:在数据库对象窗口中,单击“工具”菜单“宏”“Visual basic 编辑器”。 9.2.3 VBA 编辑环境,9.3 VBA程序设计基础,9.3.1面向对象程序设计基本概念 1类和对象的概念类是对象的抽象表示方法,是具有属性相同的所有对象的集合。对象是类创建的一个实体。 2属性和方法 属性:是描述对象的特性。 方法:指的是对象能执行的动作。 对对象的属性或者行为的引用格式是:对象
3、.属性 或者 对象.行为,DoCmd对象,DoCmd对象主要是通过其方法来实现VBA编程中对Access其他对象的操作。DoCmd对象最常用的行为有以下几个: 用于打开报表:DoCmd.OpenReport ReportName, 用于打开窗体:DoCmd.OpenForm FormName, 用于关闭其他对象:DoCmd.Close objectType, objectName,,3.事件和事件过程,事件:是一个对象可以辨认的动作,像单击鼠标或按下键盘上某个按键等,并且可以写某些代码针对此类动作来做响应。用户做动作或者程序代码的结果可能导致事件发生,或是由系统引发。 事件过程: 描述事件发生以后所完成的指定动作的代码叫事件过程,或者叫事件响应代码。,9.3.2 VBA编程基础,1VBA 的数据类型 VBA的支持多种数据类型,这样也是为了给用户编程提供方便。不同的数据类型所占的存储空间、所表示数据范围大小、以及所支持的数据运算方式不同。数据类型可以分为数值型、布尔型、日期型、字符型、对象型、变体型和用户自定义的数据类型。,数值型,可进行算术运算, 有:整型、长整型、单精度、双精度、货币
4、型 (1) 整数型 整型 类型名称 Integer 类型符号 % 表示数的范围:-215 至 +215-1(-32768-32767) 长整型 Long & 32位 -232 至 +232-1,数值型,(2) 浮点数 浮点实数:用尾数和指数方法表示 单精度 Single ! 4B 有效位数7位 双精度 Double # 8B 有效位数15位 科学记数法123.45E+3 123.45E-3123.45D+3思考: =3.1415926,应该使用何种类型较合适?,数值型,(3) 货币型 Currency 货币型是定点实数,用8B存储 整数最多15位, 小数最多4位 (4) 字节型 Byte 用1B存储 表示无符号的整数 取值范围: 0-255,字符型数据,类型名称 String 类型符号: $ 用双引号界定 例如:“a”、“12345”、“计算机” 空字符串 : 长度为0 的字符串, “ “ VB使用Unicode格式存储和操作字符串,无论西文字符或汉字都占2B,逻辑型数据,又称布尔型数据 ,类型名称 Boolean, 2B 取值:只能取真(True)与假(False)True: 111
5、1 1111 1111 1111False: 0000 0000 0000 0000 数值型数据与逻辑型的转换:0会转换为False,其他非0值转换为TrueFalse转换为0,True转换为-1。,日期型数据,日期型 (Date)数据存储为8B的浮点数值形式 可表示的范围: 100-1-1 00:00:00 至 9999-12-31 23:59:59 日期数据表示方法:以符号#括起来的任何在字面上可认作日期和时间数据, 如 #2008-10-31 16:20:30#,数据类型,对象型数据 用来表示图形、OLE对象或其他对象 变体型数据 是一种特殊的数据类型 。可以存储上面介绍的任何一种类型的数据。 用户自定义数据类型,2变量,变量:在程序运行期间,其内存单元中存放的数据可以根据需要随时改变。 (1) 变量的命名原则: (a) 以字母或汉字开始。 (b) 其后可跟零个或多个字母、汉字、数字或下划线。 (c) 标识符的字符数不得超过255个字符。 (d) 不能与VB 关键字相同。 例几个合法的标识符: iCount, strName, ForLoop 几个不合法的标识符: 12a, b$
6、6_1, For, If,以下合法的Visual Basic 变量名是 A)x-y B)9abc C)a#x D)ForLoop,()变量的声明,在程序中使用变量必须声明。有两种方法 a显式声明变量 格式:Dim 变量名1 AS 类型 ,变量名2 AS 类型 或 Dim 变量名1类型符 ,变量名2类型符 例如:Dim i As integer , s As single 等价于 Dim i%,s!,()变量的声明,b. 隐式声明 在Visual Basic中,未进行上述的声明而直接使用的变量,称为隐式声明。其类型为 Variant 类型 。 注意: 一般不提倡隐式声明 可以在VB系统“工具”的“选项”中,强制显式声明。即在通用声明处加 Option Explicit,3.常量,常量:在程序运行期间,其内存单元中存放的数据不能改变。 在Visual Basic中,常量有三种:直接常量、符号常量和系统常量。 (1). 直接常量 以直接明显的形式给出数据。如:数值常量146、12.67、 1.2363E7字符串常量“mybook”、“5842431”布尔常量True、False日期常量#20
7、01-07-23#,3.常量,(2)符号常量:用符号表示常数值,可以提高程序的可读性和可维护性。用以下格式声明: Const 常量名 As 类型=表达式 例: Const PI As Single = 3.14符号常量名习惯用大写字母。 (3)系统常量 在Visual Basic系统中,提供了应用程序和控件的系统常量。 例: vbRed, vbYes, vbCr,4 运算符与表达式,运算是对数据的处理。 最基本的运算形式可以用一些简洁的符号来描述,这些符号称为运算符或操作符。 运算的对象就是数据,称为运算量或操作数。 由运算符和运算量组成表达式 。 包括算术运算符、字符串运算符、关系表运算符、逻辑运算符及其相对应的表达式。,算术运算符和算术表达式,算术运算符和算术表达式,表达式书写的规则 (1)所有运算符号不能省略。例如:xy+z表达式,必须写成x*y+z等。 (2)运算按运算符的优先级的先后顺序进行。 (3)对于多种运算符并存的表达式,可用圆括号“()”改变优先级或使表达式更清晰,但圆括号必须成对出现。,算术运算符和算术表达式,下列算术表达式的值为多少: 4+5 6 * 7 / 8
8、Mod 9 5+10 mod 10 9 / 3 +2 2,字符串运算符和字符串表达式,字符串运算是进行字符串连接。 连接运算符为:+、&。 “&”运算符自动将非字符型的数据转换字符串再进行连接。 “+”运算符不能自动转换。 例 “计算机” & “世界” 结果为 “计算机世界” “123” + “abc” 结果为 “123abc” 123 & “abc” 结果为 “123abc” 123 + “abc” 出错,关系表运算符和关系表达式,关系运算符也称比较运算符,其作用是将两个操作数进行大小的比较。 常用关系运行符有: = 关系表达式的结果是一个逻辑值,关系成立返回True,否则返回False。 数及日期按大小比较。 西文字符按ASC码大小比较。中文字符按国标码大小比较,一般以声母顺序。 字符串先比较第一字母,若相等,比较第二字母,以此类推。,关系表运算符和关系表达式,以下关系表达式中,其值为False的是 “ABC“AbC“ “the“they“ c) “Integer“Int“ 设a=10,b=5,c =1,执行语句Print a b c后,窗体上显示的是A)True B)False
9、C)1 D)出错信息,逻辑运算符和逻辑表达式,也称布尔运算 ,结果是逻辑值。 最基本的逻辑运行符: And Or Not 条件表达式1 And 条件表达式2 条件表达式均为T, 结果为T; 条件表达式1 Or 条件表达式2 条件表达式有一个为T 结果为T。 Not 条件表达式1 优先级排序为 Not,And, Or,运算符和表达式,不同类运算符优先级:算术运算符字符串运算符关系运算符逻辑运算符 。 数学不等式10X20在程序中的逻辑表达式为:x=10 And x=20,运算符和表达式举例,例. 能正确表达a1或a5的逻辑表达式是( )。 A.a=5 B.a=5 C.a=5 D.a=5 例. 下面选项中( )是算术运算符。 A.Or B. C.Mod D.And,运算符和表达式举例,设x=4, y=8, z=7 ,以下表达式F的值的是 F= xz ) Or zx A) 1 B) -1 C) True D) False 写出判断某年(y)是否是闰年的条件表达式,5 常用内部函数,内部函数是由VB系统提供的,每个内部函数完成某个特定的功能。在程序中使用函数称为调用函数。函数调用的一般格式为: 函数名(参数1,参数2,) 参数(也称自变量)放在圆括号内,若有多个参数,以逗号分隔。 函数调用后,一般都有一个确定的函数值,即返回值。例如:y=Sqr(289) Sqr是内部函数名,289为参数,运行时该语句调用内部函数Sqr来求289的平方根,其计算结果由系统返回给变量y VB的内部函数大体上分为四大类:数学函数,字符串函数,日期与时间函数和转换函数。,
《access数据库2003教学课件-ch9 模块》由会员子分享,可在线阅读,更多相关《access数据库2003教学课件-ch9 模块》请在金锄头文库上搜索。