第八章 模块(18%—22%,近年逐年增加,是重点考查内容) 1 z/ Q, N, ^1 w% a7 ` k% ]9 |7 i, k
! ~3 h, T9 N4 _3 i
考点一:模块的基本概念
8 d. ]! {" {7 `& X/ J2 }9 q/ t t 1、 类模块:窗体和报表都属于类模块,而且它们各自与某一窗体或报表相关联(类模块可以作为独立的模块存在);
- M- X7 F) S0 q 2、 标准模块:一般用于存放其他Access数据库对象使用的公共过程; ! a( |2 l. g0 R$ l% z$ w
3、 将宏转化为模块:其实就是将宏实现的功能用模块(写VBA代码的方法)来表达出来。
# E9 y. y) J; P8 l; S, Q4 N 考点二:创建模块 " H% I1 `. H! [& G0 H
1、 创建新模块:这里注意创建类模块和创建标准模块的不同;
) O* E0 J3 f8 X8 [: r8 d$ \5 ^ 2、 在模块中加入过程:所有的VBA程序代码都必须存在于过程中;
, U: R. _/ h/ r' | 3、 在模块中执行宏:可以使用DoCmd对象的RunMacro方法,具体格式为: - R% n0 e- v7 I% J2 I y" i; b
DoCmd.RunMacro 宏名称 . o% f- D, _+ n M. t0 C( j& x
考点三:VBA程序设计基础
8 K* \3 f; U1 \0 V. k8 d' w 1、 面向对象程序设计的基本概念 9 {2 P7 x3 _" |0 p( M1 e
〈1〉 对象:是将数据和代码封装起来的实体; 9 y2 B. Y8 ~) p( v* P. i
〈2〉 属性和方法:描述了对象的行为和性质,引用方式为:对象.属性或对象.方法; * e1 X9 H' S1 `9 }
〈3〉 事件和事件过程:
( M! ?8 A d. p' Z2 W( v 事件是access对象控件可以识别的“动作”,如单击命令按钮,向文本框中输入内容等; 0 e' X& p2 T ]8 m, e
事件过程就是为某个事件编写VBA代码过程,完成指定动作; . N2 r! Q, \1 t. H- K
两者的区别就:事件是系统确定好的,事件过程可以由用户来编写。 ; d0 d8 {7 \, ~+ l6 l3 Q" a6 E5 \ P
2、 VBA编程基础——常量、变量、运算符和表达式 & h3 }2 O5 @7 q; I9 y2 y a) B7 Y
〈1〉 VBA的数据类型:
% e3 L: P) I6 U8 V" U; [ Integer 整型、String 字符型、Single 单精度型、Double 双精度型、Boolean 布尔型、Date 日期型,Variant 变体型
# ]1 h, C; `2 t* ]$ x; ]4 Z% n6 [' \* m4 ]% r 注解1:当转化其他的数值类型为Boolean类型时,0会转成False,而其他的值则转成了True;而将Boolean类型转成其他类型时,False成为0,而True成为-1. . F+ x. m) K0 t; }5 O* Y9 h
注解2:变量没有显示声明(用如Dim、Private、Static等语句),那么默认为变体类型。是一种特殊的数据类型,除了定义长String数据以及用户定义类型外,可以包含任何种类的数据。
5 @. j* f' Z" a 〈2〉 变量
F# M3 k. Q% T8 I8 } D --声明变量的两种方法:隐性声明(默认为variant类型)和显性声明; & ?8 E% N: s5 E7 n8 M
注解:如果是 Dim x,y,z As Integer ,那么x,y为Variant类型。
9 c1 ]" Q6 \% h* o --变量的三个范围级别 ! M$ ^ X, C& Q+ k* q/ X
过程级别
& j$ j7 }" Z9 H3 n5 t- ]8 ~ 只有在声明此变量的过程中才可以使用的变量成为局部变量。可以使用Dim 或Static关键字来定义。
. I1 T) N$ z1 Y3 b( M9 T( p' e& F 注解:Dim定义的变量只有在其所在的过程运行时有值,static定义的变量在整个程序运行期间都有值。
* Z" |- i5 z. Q( k 私有模块级别 . Q* H/ n. p, F4 ^! D K
私有模块定义的变量只对所属模块过程可用,可以使用Dim和Private定义。 7 _/ c& h& {2 N, k9 l
公共模块级别
6 w: o5 X0 a- _ 一般用public来定义,所有的模块都可以用。 |