第八章 模块(18%—22%,近年逐年增加,是重点考查内容) : d1 c5 Q* ?" ?! Z& e
- b+ y) i- ?3 J& a. w" S/ F5 G 考点一:模块的基本概念 2 r, {7 O2 f0 m9 R5 w$ t; Y
1、 类模块:窗体和报表都属于类模块,而且它们各自与某一窗体或报表相关联(类模块可以作为独立的模块存在); . a! I$ h5 z) p
2、 标准模块:一般用于存放其他Access数据库对象使用的公共过程;
1 s9 i5 G; q: I/ L7 R 3、 将宏转化为模块:其实就是将宏实现的功能用模块(写VBA代码的方法)来表达出来。
8 E" H( O6 W7 I9 h, V. l+ s 考点二:创建模块
6 B" D/ B8 q& o0 u4 R$ ]; e& N- ^# Z 1、 创建新模块:这里注意创建类模块和创建标准模块的不同; P: c: G1 _' k- T5 }. y
2、 在模块中加入过程:所有的VBA程序代码都必须存在于过程中; 5 ^! g( _9 ]# ]9 i& Q
3、 在模块中执行宏:可以使用DoCmd对象的RunMacro方法,具体格式为:
2 g) ^" l, e1 A$ t) {+ ~& k' c DoCmd.RunMacro 宏名称 9 X! K: i- `, x9 _4 ` Q8 y* W
考点三:VBA程序设计基础
+ Q. ], ^; A9 D+ [ 1、 面向对象程序设计的基本概念
, R) r" {3 I7 Q 〈1〉 对象:是将数据和代码封装起来的实体; . Z( p5 ~* S( P( i# [' w
〈2〉 属性和方法:描述了对象的行为和性质,引用方式为:对象.属性或对象.方法;
9 J# G: B) x+ @. T& k7 w H 〈3〉 事件和事件过程: 3 A! Z, ^$ Y6 i2 b& T4 Z6 Q
事件是access对象控件可以识别的“动作”,如单击命令按钮,向文本框中输入内容等; + @$ J" K8 Z, F# _
事件过程就是为某个事件编写VBA代码过程,完成指定动作;
2 N7 G1 X# O# k1 Y9 ]: [ K7 ~- i 两者的区别就:事件是系统确定好的,事件过程可以由用户来编写。 $ w. P, A h1 ~# C) ^
2、 VBA编程基础——常量、变量、运算符和表达式
* B+ g4 a% K& Y+ l 〈1〉 VBA的数据类型: + i. ]. D7 S! Z y, n# N/ x2 ^/ [" f! [
Integer 整型、String 字符型、Single 单精度型、Double 双精度型、Boolean 布尔型、Date 日期型,Variant 变体型 ' L0 s5 n) K( [4 m5 L
注解1:当转化其他的数值类型为Boolean类型时,0会转成False,而其他的值则转成了True;而将Boolean类型转成其他类型时,False成为0,而True成为-1.
/ D4 ^7 D& u0 m% _6 u* j 注解2:变量没有显示声明(用如Dim、Private、Static等语句),那么默认为变体类型。是一种特殊的数据类型,除了定义长String数据以及用户定义类型外,可以包含任何种类的数据。 L5 X& b% T6 }5 ~: e. V
〈2〉 变量 / n: ]) w" M* v% T4 w
--声明变量的两种方法:隐性声明(默认为variant类型)和显性声明;
/ E0 b# `0 O# d" o2 [2 h 注解:如果是 Dim x,y,z As Integer ,那么x,y为Variant类型。
, H; I, ?2 v( k/ s$ c8 M. @4 t2 L' H --变量的三个范围级别
1 d4 W: P$ p: h3 p, r 过程级别
N" n0 Y8 v4 N4 s 只有在声明此变量的过程中才可以使用的变量成为局部变量。可以使用Dim 或Static关键字来定义。
( K( Z3 x( Z: S% M/ J# ]; {7 M; l3 r5 _ 注解:Dim定义的变量只有在其所在的过程运行时有值,static定义的变量在整个程序运行期间都有值。 . C, Q. i1 N( G4 p3 J' |1 n, \
私有模块级别
( k. |9 I+ o' w2 I; ?, @ J2 ]1 z 私有模块定义的变量只对所属模块过程可用,可以使用Dim和Private定义。 $ Q9 u5 c4 t- W& o& f; ]
公共模块级别 * P' f, u8 t d: _& @& R
一般用public来定义,所有的模块都可以用。 |