当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级Access模块知识整理
发布时间:2012/2/2 11:39:05 来源:城市学习网 编辑:ziteng

第八章 模块(18%—22%,近年逐年增加,是重点考查内容)

  考点一:模块的基本概念

  1、 类模块:窗体和报表都属于类模块,而且它们各自与某一窗体或报表相关联(类模块可以作为独立的模块存在);

  2、 标准模块:一般用于存放其他Access数据库对象使用的公共过程;

  3、 将宏转化为模块:其实就是将宏实现的功能用模块(写VBA代码的方法)来表达出来。

  考点二:创建模块

  1、 创建新模块:这里注意创建类模块和创建标准模块的不同;

  2、 在模块中加入过程:所有的VBA程序代码都必须存在于过程中;

  3、 在模块中执行宏:可以使用DoCmd对象的RunMacro方法,具体格式为:

  DoCmd.RunMacro 宏名称

  考点三:VBA程序设计基础

  1、 面向对象程序设计的基本概念

  〈1〉 对象:是将数据和代码封装起来的实体;

  〈2〉 属性和方法:描述了对象的行为和性质,引用方式为:对象.属性或对象.方法;

  〈3〉 事件和事件过程:

  事件是access对象控件可以识别的“动作”,如单击命令按钮,向文本框中输入内容等;

  事件过程就是为某个事件编写VBA代码过程,完成指定动作;

  两者的区别就:事件是系统确定好的,事件过程可以由用户来编写。

  2、 VBA编程基础——常量、变量、运算符和表达式

  〈1〉 VBA的数据类型:

  Integer 整型、String 字符型、Single 单精度型、Double 双精度型、Boolean 布尔型、Date 日期型,Variant 变体型

  注解1:当转化其他的数值类型为Boolean类型时,0会转成False,而其他的值则转成了True;而将Boolean类型转成其他类型时,False成为0,而True成为-1.

  注解2:变量没有显示声明(用如Dim、Private、Static等语句),那么默认为变体类型。是一种特殊的数据类型,除了定义长String数据以及用户定义类型外,可以包含任何种类的数据。

  〈2〉 变量

  --声明变量的两种方法:隐性声明(默认为variant类型)和显性声明;

  注解:如果是 Dim x,y,z As Integer ,那么x,y为Variant类型。

  --变量的三个范围级别

  过程级别

  只有在声明此变量的过程中才可以使用的变量成为局部变量。可以使用Dim 或Static关键字来定义。

  注解:Dim定义的变量只有在其所在的过程运行时有值,static定义的变量在整个程序运行期间都有值。

  私有模块级别

  私有模块定义的变量只对所属模块过程可用,可以使用Dim和Private定义。

  公共模块级别

  一般用public来定义,所有的模块都可以用。

  〈3〉 数组

  --可以同时定义多个变量,有一维数组,二维数组…;

  --默认情况下数组下标为0,除非用Option Base 1来把默认值更改为1;

  --如定义一个一维数组 Dim s(3) as integer ,它等同于: Dim s(0 to 3) as integer ,两者都定义数组中有4个元素,分别是:s(0),s(1),s(2),s(3);

  --对于一个二维元素,根据同样的道理,如m(1,2),那么就这个元素中就包含2*3=6个元素。

  〈4〉 运算符

  --数学运算符〈重点掌握整数除法和求模运算符,见P96〉

  --比较运算符〈注意比较运算符的结果为逻辑值,true,false〉

  --连接运算符〈&(强制将两个表达式作为字符串连接) 和+(连接字符串数据)〉

  --逻辑运算符〈结果同样为逻辑值〉

  --表达式与优先级

  举例:求表达式12*3/4-7 mod2+2>3的值

  因为:算数运算符>连接运算符>关系运算符>逻辑运算符,算数运算符中乘除符号>求模>加减符号(具体见P98 表8.7)

  9-1+2>3,进一步推得10>3,所以结果为true。

  〈5〉 标准函数

  --这些函数都是系统已经定义好的内置函数,使用就可以完成特定的功能,这一部分需要熟记,并知道每个函数的用法。

  具体见P98.

  3、 VBA程序流程控制语句

  〈1〉 语句的三个分类:

  声明语句:命名和定义过程、变量、数组以及常数;

  可执行语句:执行赋值、判断、循环等各种操作,运行函数或过程等;

  赋值语句:将变量或常量赋给一个值或表达式。

  〈2〉 注释语句

  --使用Rem语句,格式为: Rem 注释语句

  注解:如果Rem和代码语句在同一行,则前面应该加上冒号(:)

  --使用 ‘ ,格式为: ’ 注释语句

  〈3〉 条件语句:根据条件表达式的值来选择程序运行语句

  If….Then

  If…Then…Else  [NextPage]

  例题:下面是一个多分支选择结构考题。

  在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:

  Private Sub Command1_Click()

  a=75

  If a>60 Then

  k=1

  ElseIf a>70 Then

  k=2

  ElseIf a=85 Then

  k=3

  ElseIf a=85 Then

  k=4

  EndIf

  MsgBox k

  End Sub

  分析:

  本题是一个if条件结构的多分支程序,首先进行判断,如果满足条件就执行该条件下的代码。

  并且,当其执行过某个分支之后就会退出条件语句。

  对本题来说,a=75>60,所以执行k=1,然后退出条件结构,即使下面的也符合条件也不会继续执行。

  窗体打开运行后,单击命令按钮,则消息框的输出结果是()

  A 、 1

  B、 2

  C、3

  D、4

  Select Case

  注解;当遇到多分支结构时,当某分支条件正确并执行过某个分支后,就会跳出判断,不会选择继续向下判断。

  〈4〉 循环语句

  Do…Loop

  注:对于While,条件表达式为真时执行循环,为假就退出循环。

  While在Do后面与在Loop后面的不同:前者先判断,成立就执行,后者是先执行,后判断条件是否满足,继续执行循环。即使开始条件为假,后者也会执行1次。

  对于Until同样如此分析。

  注:对于Until,条件表达式为假时执行循环,为真就退出循环。

  For…Next

  注意:判断For循环执行与否的条件(P109)。

  例题:

  因为这个for循环步长step=1(默认)>0,所以当循环变量i<=终值时,循环可以进行。具体来看看执行情况。因此,经过分析,我们知道这个循环执行了5次,直到循环变量i>4终止循环。输出sum。这个程序的功能就是求出了从0—4的所有整数的和。

  对于所有循环我们都可以列一个表来分析:(如下)

循环次数

循环变量i

sum的值

1

0

0

2

1

1

3

2

3

4

3

6

5

4

10

  4、 过程调用和参数传递

  〈1〉 过程调用

  子过程调用的两种方式:

  Call 子过程名([<参数>])或将Call省略

  函数子过程调用:函数过程名([<参数>])

  〈2〉 参数传递

  在函数或者子过程定义时,如果使用ByRef关键字,则说明参数是传址传递,这时形参的变化会影响到相应的实参,也就是说参数的变化是双向的;

  如果使用ByVal关键字,则说明参数是传值传递,这时形参的变化不会影响到相应的实参,也就是说参数的变化是单向的;

  默认情况下,参数是传址传递的,也就是说参数的变化是双向的。

  例题:

  在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:

  问:窗体打开运行后,单击命令按钮,则消息框的输出结果为___.(2008-9)

  分析:

  这里关键是在定义过程p时,定义参数的方式:因为默认是传址传递,ByVal关键字表明是传值传递,则说明第一个参数n是传址传递,m是传值传递。

  那么,x=12传递给n后,n=n Mod 10为2,会使得x也变为2;

  而对于m是传值传递,所以无论如何变化都不会影响y。

  所以调用过程p后,x=2,y=32

  答案应该为64.

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved