全国计算机二级access第八讲 模块

上传人:wt****50 文档编号:55768917 上传时间:2018-10-06 格式:PPT 页数:51 大小:818.50KB
返回 下载 相关 举报
全国计算机二级access第八讲 模块_第1页
第1页 / 共51页
全国计算机二级access第八讲 模块_第2页
第2页 / 共51页
全国计算机二级access第八讲 模块_第3页
第3页 / 共51页
全国计算机二级access第八讲 模块_第4页
第4页 / 共51页
全国计算机二级access第八讲 模块_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《全国计算机二级access第八讲 模块》由会员分享,可在线阅读,更多相关《全国计算机二级access第八讲 模块(51页珍藏版)》请在金锄头文库上搜索。

1、第八讲 模块,模块是以VBA(Visual Basic for Application)基础编写,以函数(function)或子过程(Sub)的集合方式存储。模块分为类模块和标准模块两类。类模块:窗体和报表模块都是类模块,可以使用 事件过程来控制窗体或报表的行为。标准模块:标准模块包含的是通用过程和常用过程,这些通用过程不与任何对象相关。,8.1 模块的基本概念,8.2.1 面向对象程序设计的基本概念,一个对象就是一个实体。对象具有属性和方 法两方面。属性和方法描述了对象的性质和行为。 对象的属性可以定义对象一个实例,而方法是对象 可以执行的行为。 引用方式为:对象.属性或对象.行为。,8.2

2、 VBA程序设计,在进行Access的VBA编程之前,要了解VBA的基本 编程语言: 一、数据类型 二、变量 三、运算符及函数,8.2.2 VBA编程基础,一、数据类型,()整数(Integer):后缀符为“” ()长整数(Long):后缀符为“&” ()单精度(Single):后缀符为“!” ()双精度(Double):后缀符为“#” ()货币(Currency):后缀符为“” ()字符串(String):后缀符为“$” ()布尔型(Boolean) ()变体(Variant):可用于任何数据类型。 ()数据库对象类型(Object),二、变量,变量:是在程序运行过程中其值可以改变的量。 变

3、量的组成:由数字、字母和下划线且由字母开头 例如:Book,Name12,Number_1都是合法的 变量名。而_num,1am,pi 1是不合法的。 变量定义两种方法: (1)、隐式变量:没有直接定义,直接指定值,如:NewVar=528 (2)、显式变量:先定义后使用。如:Dim NewVar As Integer,三、用户定义的数据类型,Type PointX as IntegerY as Single End Type 即定义了一个点(point )的数据结构,声明和 使用变量形式如: Dim pCurPoint as Point PCurPoint.X=10 PCurPoint.Y=

4、10,四、数组,格式:Dim 数组名(下标下限 to 下标下限)。 如:Dim array(10) as double Dim workers(-4 to 5)as intetger,五、符号常量,格式:Const 符号常量名称常量值 如:Const PI=3.14159,历年真题,c,Variant,Double,六、运算符,1.算术运算符,对上表运算符说明:VBA的加、减、乘、除运算符与数学中的加、减、乘、除运算符的意义和用法相同,只是乘、除、乘方的运算符号不同。 但注意: 整数除法():操作时先将操作数舍去小数部分取整,若结果有小数也舍弃。 求模运算(Mod):若操作数是小数,系统会将其

5、四舍五入后再运算,被除数与结果值余数符号一致。,. 关系运算符和关系表达式,关系运算符用于对两个相同类型的数据进行比 较。如果比较的关系成立,运算结果是逻辑真值 为True(或);如果比较的关系不成立,运算 结果是逻辑假值为False(或)。关系运算符下表所示:,、逻辑运算符和逻辑表达式,非(OT)、与(AND)、或(OR) 先进级别从左至右 例1:NOT 3 值为0;NOT 0 值为1 例2:0 AND 0 值为0;0 AND 1 值为0;1 AND 1 值为1 例3:0 OR 0 值为0; 0 OR 1 值为1;1 OR 1 值为1;,从表中可以看出逻辑逻辑符的运算法则如下: (1) 对于

6、Not(逻辑非)运算,如果参加运算的数据是True,则运算结果为False;反之,则运算结果为True。例如:NOT(3 5)的值是True。 (2) 对于And(逻辑与)运算,如果参加运算的两都是True,则运算结果为True;如果参加运算的两边为False,则运算结果为False。例如:5 3 And “B“ 3 And “B“ “C“的值都是False。,(3)对于Or(逻辑或)运算,如果参加运算的两边有一个为True,则运算结果为True,只有参加运算的两边均为False时,运算结果才为False。例如:5 “C“的值是False,而5 3 Or “B“ “C“的值都是True,5.

7、连接运算符,字符运算符有两个:“+”、“&”;功能是把运 算符右边的字符串连接到左边字符串的尾部,组 成一个新的字符串。例如:“Visual “ &“Basic” 的运算结果是“VisualBasic”。 区别:“+”只能连接字符型数据;而“&”可以连 接非字符型数据。 如:“VBA”& 6 结果为:VBA6 或:“2+3” & “=“ & (2+3) 结果为:“2+35”,小结:各运算符的优先级别,算术运算符连接运算符关系运算符逻辑运算符,七、常用标准函数(重点),1.数学函数,(1).Abs() 绝对值函数例:Abs(-5)=5 或 Abs(-5+2)=3 (2).Int(Fix) ()

8、取整函数功能:两者参数为正是取整。若为负,Int返回小于等于参数值的第一个负整数;Fix返回大于等于参数值的第一个负整数。例:Int(5.3)=5 ;Fix(5.3)=5 Int(-5.3)=-6; Fix(-5.3)=-5 (3).Sqrt() 开平方函数例:Sqrt(9)=3,2.字符串函数,(1).InStr(Start,1)功能:检索Str2在Str1中最早出现的位置。Start为可项,即检索的起始位置。如省,则从第一个字符开始。,1也为可选,如有1则不区分大小写。例:s=Instr(3,“aSsiAB”,“a”,1) 返回 5s=Instr(“aSsiAB”,“a”) 返回 1(2)

9、.Len() 字符串长度检测函数例:Len(“12345”) 返回 5 或 Len(“考试中心”) 返回 4,(3).Left(字符串,N)从字符串左边起截取N个字符Right(字符串,N)从字符串右边起截取N个字符Mid (字符串,N1,N2)从字符串左边第N1个字符起截取 N2个字符。例:Left(“sdkfj”,2) 返回“sd”Right(“sdkfj”,2) 返回“fj”Mid(“sdkfj”,2,3) 返回“dkf”,3.日期/时间函数,(1).Date 返回当前系统日期 (2).times 返回系统时间 (3).Now 返回当前系统日期和时间 (4).Year(日期) 返回(日期

10、)的年份 (5).Month (日期)返回(日期)的月份 (6).Day (日期) 返回(日期)的日 (7).Hour(时间) 返回(时间)的小时数 (8).Minute(时间) 返回(时间)的分钟数 (9).Second(时间) 返回(时间)的秒数,历年真题,A,-4,一.VBA程序语句分类: 1.声明语句:用于给变量、常量过程定义命名 2.执行语句:用于执行各种操作。分3种结构:顺序结构、选择(或条件)结构、循环结构 二.语句书写规定: 1.语句较长,一行写不下时,用下划线(_)续写在下一行。 2.用冒号(:)将几个语句分隔写在同一行中。 三.赋值语句: 变量名值或表达式例: new=10

11、,8.2.3 VBA程序流程控制语句,历年真题,D,B,四.选择(或条件)语句 1.If 条件表达式1 Then执行符合条件值的语句End If例:If 定价1200 ThenMsgBox “定价超上限”End if,2.If 条件表达式1 Then执行符合条件值的语句Else 执行不符合条件值的语句End If例:If 定价1200 ThenMsgBox “定价超上限”Else 定价定价*0.95End if,3.If 条件表达式1 ThenIf 条件表达式2 Then执行符合条件1、2的语句Else 执行不符合条件2值的语句Else 执行不符合条件1值的语句End If例:If 定价120

12、0 Then 定价定价*0.95If 定价1500 Then 定价定价*0.8End ifEnd if,4.If 条件表达式1 Then执行符合条件值1的语句Else If 条件表达式2 Then执行符合条件值2的语句Else If 条件表达式3 Then执行符合条件值3的语句Else 执行上述条件都不符合的语句End If,例:If 定价2000 Then定价定价*0.65Else If 定价1500 Then定价定价*0.8Else If 定价1000 Then定价定价*0.95Else MsgBox“不符合调整范围”End If,5. Select Case Case 与值1相等时执行的

13、语句Case 与值n相等时执行的语句Case 与值n相等时执行的语句Case Else上面的情况均不符合时执行的语句序列 End select,例: Select Case aCase “A” To “Z”str=“upper case”Case “a” To “z”str=“lower case”Case Else str=“unknown character”End select,历年真题,B,合格,五.循环语句 1.For Next 语句For 循环变量初值 To 终值 Setp 步长循环体Next 循环变量例:For k=5 to 10 step 2k=2*kNext k循环次数为1;

14、k的值为20,2.Do While(或Until) Loop 语句Do While 条件式 (while是执行满足条件的循环体,Until是不满足条件才执行)循环体Loop例:用 Do While Loop 完成由1加到100I1sum=0Do While I100,历年真题,C,25,历年真题,num,i,16,历年真题,C,函数过程 是一种返回值的过程,该值可以在表达式中使用。 函数声明使用Function语句,并以End Function语 句作为结束。函数格式如下: Public|PrivateFunction 函数过程名(形参)As 数据类型 函数程序代码 Exit Funtion

15、函数程序代码 End Function,8.2.4 过程调用和参数传递,例:编写一个求解圆面积的函数过程 Area()Public Function Area (R As Single) As SingleIf R=0 ThenMsgBox“圆的半径必须是正数值”Area=0Exit FuntionEnd IfArea=3.14*R*REnd Funtion,子过程 也称为sub过程,是执行一项或一系列操作 的过程,没有返回值。声明过程以“Sub”关 键字开头,并以“End Sub”语句作为结束。 格式如下: Public|Private Sub 子过程名(形参)As 数据类型 子过程语句 Exit Sub 子过程语句 End Sub,函数调用 参数传递:1、传值调用:形式参数用ByVal说明,表示传值。过程调用时,只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值变化均不会反馈、影响实参的值。 2、传值调用:形式参数用ByRef说明,表示传址。过程调用时,是将相应位置实参地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值变化会反向影响实参的值,

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

当前位置:首页 > 生活休闲 > 社会民生

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