《二级Access考试-关于模块.ppt》由会员分享,可在线阅读,更多相关《二级Access考试-关于模块.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1212章章 模模 块块 大纲要求:一、一、模块的基本概念类模块、标准模块、将宏转化为模块;二、创建模块 创建VBA模块:在模块中加入过程,在模块中执行宏;编写事件过程:键盘事件、鼠标事件、窗口事件、操作事件等;三、VBA程序设计 面向对象程序设计的基本概念;VBA编程环境:VBE(visual basic editor);VBA编程基础:常量、变量、表达式;程序流程控制:顺序控制、选择控制、循环控制;VBA程序的调试:设置断点、单步执行、设置监视点。第第1212章章 模模 块块 一、模块的基本概念一、模块的基本概念 通过上一章对宏的学习,我们了解到可以利用宏来执行一系列简单的操作。但是如
2、果要对数据库对象进行更复杂、更灵活的控制,就需要通过编程来实现。在Access中,编程是通过模块对象实现的。利用模块可以将各种数据库对象联结起来,从而使其构成一个完整的系统。它的功能比宏更强大,设计也更为灵活。模块就是将Visual Basic for Applications(VBA)声明、过程和函数结合起来,作为一个单元进行保存的集合。模块是Access的对象之一,用户可以用它来存放Visual Basic代码。模块是由一个或多个过程组成的,其中每个过程都是一个函数过程或子程序,它们各实现一种或多种功能。过程是包含Visual Basic代码的单位,它包含一系列的语句和方法,以执行特定的操
3、作。声明则是由Option语句配置模块中整个编程环境。第第1212章章 模模 块块 一、模块的基本概念一、模块的基本概念在ACCESS中模块分为类模块和标准模块两种类型;1 1类模块类模块 类模块是可以定义新对象的模块。新建一个类模块,也就是创建了一个新对象。模块中定义的过程将变成该对象的属性或方法。例如,报表模块和窗体模块等,报表模块与某一报表相关联,窗体模块与一特定窗体关联,它们都含有事件过程,由事件驱动模块,而过程相应事件,进行处理。2 2标准模块标准模块 在整个数据库中,可用的函数模块和子程序称为标准模块。标准模块包含通用过程和常用过程。通用过程是不与任何对象相关联的过程。常用过程是可
4、以在数据库任何地方执行的与其他对象无关的过程。第第1212章章 模模 块块 二、创建模块二、创建模块 1.创建自定义函数创建自定义函数 (1)打开一个新模块 单击“数据库”窗口中“对象”下的“模块”按钮,然后单击数据库窗口工具栏上的新建按钮。要打开已有的标准模块,可单击对象下的模块按钮,选择要打开的模块,然后单击“设计”按钮。要打开一个窗体模块或报表模块,可先在“设计”视图中打开窗体或报表,然后单击工具栏上的“代码”按钮。要打开一个与窗体或报表无关的新的类模块,可在“数据库”窗口中“插入”菜单上单击“类模块”,选择要打开的模块,然后单击“数据库”窗口工具栏上的“设计”按钮。(2)键入Funct
5、ion语句声明函数。(3)键入函数名称,后面跟着括号以及函数参数。例:Function IsLoaded(strFormName as String)AS Boolean (4)添加Visual Basic程序代码,以便执行所需的操作或运算。第第1212章章 模模 块块 二、创建模块二、创建模块 2.创建自定义创建自定义Sub过程过程 (1)打开一个新模块 单击“数据库”窗口中“对象”下的“模块”按钮,然后单击数据库窗口工具栏上的新建按钮。要打开已有的标准模块,可单击对象下的模块按钮,选择要打开的模块,然后单击“设计”按钮。要打开一个窗体模块或报表模块,可先在“设计”视图中打开窗体或报表,然后
6、单击工具栏上的“代码”按钮。要打开一个与窗体或报表无关的新的类模块,可在“数据库”窗口中“插入”菜单上单击“类模块”,选择要打开的模块,然后单击“数据库”窗口工具栏上的“设计”按钮。(2)键入Sub语句声明过程。(3)键入过程名称,后面跟着括号以及过程参数。例:Sub ShowEvent(EventName as String)(4)添加Visual Basic程序代码,以便执行所需的操作或运算。第第1212章章 模模 块块 三、三、VBAVBA程序设计基础程序设计基础 1.面向对象设计的基本概念面向对象设计的基本概念 对象是一个实体,是将数据和代码封装起来的实体,是代码和数据的组合,每种对象
7、都有自己的属性,对象可以通过属性区别于其他对象。对象可以执行的动作称为对象的方法。对象的属性和方法描述了对象的性质和行为。对象和属性的引用格式:对象.属性 和 对象.方法注意:在Access2000中文版中,窗体、报表设计视图中所显示的属性等名称为中文,VBA中调用的属性可以和设计视图中属性表中属性对应,但是名称不相同,详见书P209。控件部分常用属性说明控件部分常用属性说明属性说明Name(名称)Caption(标题)Controlsource(数据源)Decimalplaces(格式)DefaultValue(默认值)Visible(可见性)Scrollbars(滚动条)Height、Wi
8、dth(高度、宽度)Left、Top(左边距、上边距)BackStytle(背景样式)BackColor(背景颜色)FontName、FontSize(字体名称、字体大小)Enbled是否可用 不可用时不相应任何事件Text(控件文本)DoCmd对象部分常用方法对象部分常用方法方法说明OpenformOpenQueryOpenReportOpenviewOpenModleOpenDataAccessPageOpentableCloseRunMacroRunSQL 在VBA中,可以通过调用DoCmd对象的方法来实现对Access的操作。可以在过程中添加对应于一个操作的DoCmd方法:DoCmd.
9、methodargumentsAccess的主要对象事件的主要对象事件对象名称事件说明窗体OnloadOnUnloadOnOpenOnCloseOnclickOnDblClickOnMouseDownOnKeyPressOnKeyDown 事件是可以由对象识别并可定义如何响应的操作。在Access中,窗体、报表、控件都有自己的事件,不同的事件完成不同的动作。Access的主要对象事件的主要对象事件对象名称事件说明报表OnOpenOnClose命令按钮OnclickOnDblClickOnEnterOnGetFocusOnMouseDownOnkeyPressOnKeyDown标签Onclick
10、OnDblClickOnMouseDownAccess的主要对象事件的主要对象事件对象名称事件说明文本框BeforeUpdateAfterUpdateOnEnterOnGetFocusOnLostFocusOnChangeOnMouseDownOnkeyPress组合框BeforeUpdateAfterUpdateOnEnterOnGetFocusOnLostFocusAccess的主要对象事件的主要对象事件对象名称事件说明组合框OnclickOnDblClickOnkeyPress选项组BeforeUpdateAfterUpdateOnEnterOnclickOnDblClick单选按钮On
11、keyPressOnGetFocusOnLostFocusAccess的主要对象事件的主要对象事件对象名称事件说明复选框BeforeUpdateAfterUpdateOnEnterOnclickOnDblClickOnGetFocusVBE操作界面操作界面 2.VBA编程环境编程环境 3.VBA编程基础:常量、变量、运算符和表达式编程基础:常量、变量、运算符和表达式 (1 1)常量)常量 程序运行过程中,其值不可以发生变化的量。程序运行过程中,其值不可以发生变化的量。(1 1)文字常量)文字常量(2 2)符号常量)符号常量(3 3)固有常量(内置常量)固有常量(内置常量)(4 4)Access
12、Access系统定义常量系统定义常量注意:注意:(1 1)常量名必须以字母开头,字母和数字或下划线的组常量名必须以字母开头,字母和数字或下划线的组合。合。(2 2)关键字不能作为常量名)关键字不能作为常量名。常量的类型常量的类型 3.VBA编程基础:常量、变量、运算符和表达式编程基础:常量、变量、运算符和表达式 (1 1)常量)常量 常量的声明和使用常量的声明和使用 形式:形式:Const Const 常量名常量名 =表达式表达式 例:例:Const MAX=100Const MAX=100 注意:常量只能在定义注意:常量只能在定义(声明声明)时,进行初始化时,进行初始化 Const MAX=
13、100Const MAX=100 MAX=56.3 MAX=56.3 错,因为错,因为MAXMAX是常量,不能改变它的值是常量,不能改变它的值 注意:在程序中符号常量不能进行二次赋值注意:在程序中符号常量不能进行二次赋值 3.VBA编程基础:常量、变量、运算符和表达式编程基础:常量、变量、运算符和表达式 (2 2)变量)变量变量是在程序执行过程中其值可以发生变化的量。(1 1)声明变量)声明变量(2 2)变量的命名)变量的命名(3 3)变量的作用域和生命周期)变量的作用域和生命周期 形式:形式:Dim Dim 变量名变量名 AS AS 类型类型 Dim Dim 变量名类型符变量名类型符 例例
14、Dim Dim iCountiCount As integer,As integer,sAllsumsAllsum As single As single 等价于等价于 Dim Dim iCountiCount%,%,sAllsumsAllsum!3.VBA编程基础:常量、变量、运算符和表达式编程基础:常量、变量、运算符和表达式 (3 3)数据类型之间的转换)数据类型之间的转换在进行VBA编程过程中,可以将一种数据类型的数据转换为另一种数据类型的数据。转换函数转换函数函数名称目标类型CbyteByteCintIntegerClngLongCsngSingleCdlDoubleVcurCurre
15、ncyCdateDateCvarVariant 3.VBA3.VBA编程基础:常量、变量、运算符和表达式编程基础:常量、变量、运算符和表达式 (4 4)运算符和表达式)运算符和表达式 表达式是由运算符、函数和数据等内容组合而成的运算符是表示实现某种运算的符号。VBA中的运算符可分为:算术运算符、关系运算符、逻辑运算符、字符串连接运算符和对象运算符。通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。算术运算符算术运算符 关系运算符关系运算符 逻辑运算符逻辑运算符 例:例:5+10 mod 10 9/3+2 2 结果:结果:10abcdef&12345 结果为 abcdef12345
16、123 +456 结果为 579对象运算符对象运算符!.Form!学生成绩单学生成绩单 打开打开“学生成绩单学生成绩单”Cmd1.caption 引用命令按键引用命令按键cmd1的的caption属性。属性。VBA标准函数函数函数函数功能函数功能函数说明函数说明Abs(x)求求x的绝对值的绝对值X为实数为实数Sin(x)求求x的正弦函数值的正弦函数值X为弧度值为弧度值Cos(x)求求x的余弦函数值的余弦函数值X为弧度值为弧度值Tan(x)求求x的正切函数值的正切函数值X为弧度值为弧度值Fix(x)截取截取x的整数部分的整数部分Fix(-3.1)=-3Int(x)取不大于取不大于x的最大整数的最
17、大整数Int(3.1)=3Int(-3.1)=-4Log(x)求求自然对数自然对数lnxX=0Exp(x)求求e的的x次幂次幂e=2.7182818284590Sgn(x)符号函数符号函数Sgn(x)=1 x0 0 x=0 -1 x=0 n注意:注意:n函数的参数可以是常量、变量或含有常量和变量的表达式函数的参数可以是常量、变量或含有常量和变量的表达式nDim a,b as singlen a=8.7n b=sin(a+4)n标准函数不能脱离表达式而独立地作为语句出现标准函数不能脱离表达式而独立地作为语句出现.VBA标准函数标准函数 nVBAVBA程序流程控制语句程序流程控制语句n1.顺序结构
18、:n2.条件结构:n格式一:格式一:n n If Thenn n Elsen n End IfIf语句嵌套:语句嵌套:If Then Elseif Then Else End If nVBAVBA程序流程控制语句程序流程控制语句n2.条件结构:n格式二:格式二:n nSelect CaseSelect Case语句语句(情况语句情况语句)nSelect Case Select Case nCase Case 值值1 1n语句组语句组1 1nCase Case 值值2 2n语句组语句组2 2nnCase ElseCase Elsen语句组语句组n+1n+1nEnd SelectEnd Selec
19、tn格式三:利用函数格式三:利用函数n nIffIff函数函数nSwitchSwitch函数函数nChooseChoose函数函数 nVBAVBA程序流程控制语句程序流程控制语句n3.循环结构:n格式一:格式一:For循环结构nFor For 循环变量初值循环变量初值 to to 终值终值 Step Step 步长步长 n 语句块语句块nExit ForExit Forn 语句块语句块n Next Next 循环变量循环变量n格式二:格式二:DoDo循环结构循环结构nDo While Do While n 语句块语句块n Exit DoExit Don 语句块语句块 nLoopLoop子程序和
20、子函数nSub子程序功能是将某些语句集成在一起,用于完成某个特定的功能,也被称为过程。定义格式:n private|publicSub 子过程名子过程名(参数列参数列表表)n 局部变量或常数定义局部变量或常数定义n 语句语句n Exit Subn 语句语句n End Subn子过程的调用子过程的调用n 子过程名子过程名 参数列表参数列表n 或或 Call 子过程名子过程名(参数列表参数列表)nFunction函数定义格式:nstaticPublicPrivate Function 函数过程名(参数列表)As 类型局部变量或常数定义n 语句块n 函数名=返回值 函数过程体n Exit Functionn 语句块n 函数名=返回值n End Functionn函数过程的调用函数过程的调用n函数过程名函数过程名(参数列表参数列表)