access模块专业课件_第1页
access模块专业课件_第2页
access模块专业课件_第3页
access模块专业课件_第4页
access模块专业课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.1VBA程式设计基础

VBA的程序结构7.2面向对象程序设计基础7.37.4模块的基本概念7.5过程调用和程序调试7.1.1VBA中的常量和变量1)符号常量:符号常量必须先定义,后使用。基本语法格式如下:[Public/Private]Const常量名[As类型]=表达式语句功能:定义一个符号常量,并将指定表达式的值赋给符号常量。1、常量7.1VBA程序设计基础语句说明如下:“常量名”指定符号常量的名称。符号常量名可以由字母、数字和下画线组成,但只能以字母开头,也不能含有空格。“表达式”指定符号常量的值。该表达式通常由数值型、字符型、逻辑型或日期型数据以及各种运算符组成,但在表达式中不能出现变量和函数。public表示这个常量的作用范围是整个数据库的所有模块。private则表示这个常量只在使用该声明常量语句的模块中起作用。注意:除自定义的符号常量外,VBA还提供了许多符号常量,用户可以直接使用。对于代码比较长,并且在程序中多次使用的常量,通常使用符号常量代替。运行程序时,系统自动把程序中的所有符号常量替换为赋给它的值。2)系统定义常量:系统定义常量有3个值,分别是True、False和Null。3)固有常量:固有常量是Access或引用对象库的一部分,由Access自动定义,并且由程序列与控件提供。用户若需要使用该常量,可以使用对象浏览器来查看所有对象库中的固有常量列表。在VBA中,常量的数据类型有整型、长整型、单精度型、双精度型、字节型、货币型、字符型、日期型和逻辑型。一个整型数据就是一个整型常量,一个长整型数据就是一个长整型常量。例如,12%、-1%是整型常量,32768&、10000000&是长整型常量,-2.5!、3.14!是单精度实型常量,3.1415926#是双精度实型常量,China、Shanghai是字符型常量,#07/13/200111:45PM#是日期型常量。1)变量名每个变量都有一个名称。变量名指定引用变量时的名称。变量名可以由字母、数字和下划线组成,但只能以字母开头,也不能含有空格,并且变量名的长度不超过255个字符。2、变量

注意:在变量名中,英文字母的大小写等价,即Name12和NAME12表示同一个变量。变量名不能与VBA的保留字重名,即For、Do、End、Sub、Function、While等保留字不能直接作为变量名。给变量命名时,最好做到“见名知意”,选取具有相关意义的英文单词、汉语拼音或拼音的首字母作为变量名,以增加程序的可读性。2)变量的定义

变量在使用之前一般先声明。【格式】

[Dim/Public/Private]变量名As数据类型

注意:使用Dim关键字表示定义本地变量。也就是说,所声明的变量仅在声明的过程和函数中有效。使用Public关键字表示定义公共变量。也就是说,所声明的变量在所有模块的所有过程和函数中都可以使用。使用Private关键字表示定义私有变量。也就是说,所声明的变量只在当前模块的所有过程和函数中有效。7.1.2VBA的数据类型类型符号数据类型有效值默认值Byte

字节0~2550Integer%整型-32768~327670Boolean是/否True和FalseFalseLong&长整型-2147483648~21474836470Single!单精度负数:-3.402823E+38~-1.401298E-450正数:1.401298E-45~3.402823E+38Double#双精度负数:-1.79769313486231E+308~-4.9406564841247E-3240正数:4.9406564841247E-324~1.79769313486231E+308Currency@货币-22337203685~9223372036850String$文本或备注根据字符串长度而定""Date日期/时间January1,100~December31,99990Variant任何

Empty

在VBA程序设计中也需要对使用的变量的数据类型进行声明。7.1.3操作符和表达式1、算术表达式运算符含义优先级()括号高低**或^乘方*、/、\乘、除、整除MOD取模(或取余),取两数相除的余数+、

-加、减

算术表达式是由数值型变量、常量、函数和数值操作符组成的,用于对数值型数据进行常规的算术运算,如表7-2所示。

操作符是表示数据之间运算方式的运算符号,一般根据所处理数据类型的不同可分为算术运算符、字符运算符、关系运算符和逻辑运算符4种。表达式是由常量、变量、函数、操作符及圆括号组成的算式。表达式中的操作对象必须具有相同的数据类型,如果表达式中有不同类型的操作对象,则必须将它们转换成同种数据类型。2、字符表达式运算符用于连接两个字符型数据。用字符运算符连接字符型数据组成的表达式是字符型表达式。字符型表达式运算后的结果是一个字符型数据。字符运算符包括“+”和“&”两个。它们的功能是把运算符右边的字符串连接到左边字符串的尾部,组成一个新的字符串。例如,"Visual"&"Basic"的运算结果是VisualBasic。使用字符运算符进行运算时,如果运算符两边都是字符型数据,“+”与“&”运算的结果相同。如果运算符两边不全是字符型数据,则“+”运算符不能进行运算,“&”运算符可以将非字符型数据转换为字符型数据,再进行运算。例如,"VBA"+6将显示数据类型不匹配的信息,而"VBA"&6的结果是VBA6。3、关系表达式关系表达式用于数值、字符和日期型数据的比较运算。关系表达式的运算优先级相同,如表7-3所示。4、逻辑表达式逻辑表达式是由逻辑型变量、常量、函数和字符运算符组成的,用来对逻辑型数据进行各种逻辑运算,形成各种简单的逻辑结果5、表达式的优先级将常量和变量用各种运算符连接在一起构成的式子就叫表达式。当一个表达式由多个运算符连接在一起时,如果一个表达式中含有多种不同类型的运算符,运算进行的先后顺序由运算符的优先级决定。可见,运算进行的先后顺序是由运算符的优先级决定的。优先级高的运算先进性,优先级相同的运算依照从左向右的顺序进行。7.1.4输入、输出函数1、输入函数【格式】InputBox(<提示信息>[,对话框标题][,默认][,X坐标][,Y坐标])【功能】

该函数能生成一个对话框,并显示提示,等待用户输入正文或单击按钮。如果用户单击“OK”按钮或按〈Enter〉键,则InputBox函数返回包含文本框中内容的字符串;单击“Cancel”按钮,则此函数返回一个长度为0的字符串("")。2、输出函数【格式】MsgBox(<提示信息>[,按钮形式][,[对话框标题]]【功能】

该函数能产生一个显示消息的对话框,等待用户单击按钮。【举例】在立即窗口输入:

A=InputBox("EnterYourName","输入姓名")

b=InputBox("请输入数据")

c=a+b

MsgBox(c)

MsgBox("字符原样输出")MsgBox函数的返回值是一个整数,它与选择的命令按钮有关。MsgBox函数的返回值见表7-5,MsgBox函数的按钮设置值见表7-6。表7-6MsgBox函数的返回值表7-7MsgBox函数按钮设置值7.2.1VBA程序设计基础

启动Access2010,然后才能进入IDE环境。进入VBA的编程环境有3种方式。(1)直接进入VBA

在数据库中,单击“数据库工具”选项卡,在“宏”组中单击“VisualBasic”按钮,可进入VBA的编程环境界面。如图7-21、进入VBA的几种方法7.2VBA程序结构(2)创建模块进入VBA

在数据库中,单击“创建”选项卡,在“宏与代码”组中单击“VisualBasic”按钮,可进入VBA的编程环境界面。如图7-3所示。(3)通过窗体和报表等大型的设计进入VBA

通过窗体和报表等大型的设计进入VBA有2种方法:在窗体或报表设计视图中单击“查看代码”选项按钮,进入VBA,如图7-4所示。通过控件的时间响应进入VBA,在控件的“属性表”窗格中,单击对象事件的“省略号”按钮添加事件过程后,在窗体、报表或控件的事件过程中进入VBA,如图7-5所示。查看代码

通过上面的两种方法均可进入VBA的编程环境界面。VBA编程窗口是由一些常用的工具和多个窗口组成,如图7-6所示。下面介绍VBA编辑窗口的界面组成。标题栏:显示应用程序名称和窗口控制按钮。菜单栏:通过执行命令来完成相应的功能。工具栏:提供了对常用功能的快速调用。VBAIDE共提供了4个工具栏:“标准”、“编辑”、“用户窗体”和“调试”工具栏。工程窗口:以树状结构显示主应用程序与窗体、模块及类模块的完整结构,用户可在工程窗口中直接选择窗体或模块,对其进行编辑。属性窗口:用于显示窗体上的某个控件的可见属性及其默认值,通过该属性窗口,还可以对可见属性的值进行直接编辑。代码窗口:用于编写模块的过程代码。本地窗口:本地窗口显示当前过程中所有变量的当前值,它只反映当前过程的情况,所以当程序的执行从一个过程切换到另一个过程时,本地窗口的内容会发生改变。立即窗口:立即窗口用于显示当前过程中的有关信息。监视窗口:监视窗口用于查看指定表达式的值。2、VBA编程环境7.2.2常用语句(1)赋值语句给变量赋值,就是将指定的数据保存到变量中。VBA使用赋值语句给变量赋值。【格式】<变量名>=<表达式>【功能】将表达式的值赋给指定的变量。【说明】1)“=”是赋值号,不是等号。它的功能是将其右侧表达式的值赋给左侧的变量,因此语句中的变量名与表达式不能交换位置。2)表达式指定给变量赋的值。VBA先计算表达式的值,再用计算的结果给变量赋值。1、VBA的书写规则VBA不区分标识符字母的大小写,一律认为是小写字母。一行可以书写多条语句,各语句之间以冒号“

:

”分开。一条语句可以多行书写,以空格加下画线“

_

”来标识下行为续行。2、VBA常用语句(2)声明语句声明语句用于定义常量、变量、数组和过程。在定义这些内容的同时,也定义了它们的使用范围。【格式】Dim|Static|Private|Public变量名[As类型][,变量[As类型]]【说明】VBA允许使用未定义的变量,默认是变体变量。

在模块通用说明部分,加入OptionExplicit语句可以强迫用户进行变量定义。

变量定义语句及变量作用域:Dim变量As类型 '定义为局部变量,如DimxyzAsinteger

Private变量As类型 '定义为私有变量,如PrivatexyzAsbyte

Public变量As类型 '定义为公有变量,如PublicxyzAssingle

Global变量As类型 '定义为全局变量,如GloblalxyzAsdate

Static变量As类型 '定义为静态变量,如StaticxyzAsdouble

一般变量作用域的原则是,哪部分定义就在哪部分起作用,模块中定义的只在该模块中那作用。(3)注释语句【格式1】Rem注释内容【格式2】‘注释内容【功能】注释语句用来说明程序中某些语句的功能和作用。在VBA中可以使用以上两种方法标示注释语句,其中单引号

'

可以定义全局变量,可以位于一行中其他语句的后面,也可单独一行;而Rem可以定义全局变量,只能单独一行。3、运行VBA程序程序代码存盘后,可以用以下两种方式执行它,程序运行结果将显示在主窗口中。打开代码窗口,选择“运行”菜单→“运行子过程/用户窗口”命令。打开代码窗口,单击工具栏中的“运行子过程/用户窗口”按钮。7.2.3程序流程控制顺序结构是一种线形结构,是最基本的程序结构,它是按照命令或语句的排列顺序的,依次执行。1、顺序结构【例7-1】通过键盘输入圆的半径R,通过计算圆面积公式S=πR2计算出圆的面积S,最后输出该圆的面积S。PrivateSubprg2()DimRAsIntegerR=InputBox("请输入半径") '输入一个数值,赋值给变量RS=3.1416*R*R '将计算结果存储到变量S中

Debug.Print"圆的面积S=",S '显示字符串及变量S的值EndSub7.2.3程序流程控制选择结构又称为分支结构,是根据给定的条件是否为真来决定执行不同的分支,完成相应的操作。2、选择结构1)简单选择语句【格式】If条件表达式Then语句1[Else语句2]【功能】如果<条件表达式>为真(.T.),则执行“语句1”;如果没有Else,执行下一句。如果有[Else语句2]选项,当<条件表达式>为假时,执行“语句2”。P245【例7-2】,【例7-3】【格式1】If条件Then语句组[Else语句]Endif【格式2】If条件Then语句组1Else语句组2Endif【功能】在执行时也是首先判断条件是否成立。如果成立,则执行语句组1;否则,执行Else后的语句组2。如果条件不成立,又没有Else部分,则跳过该语句。其中,语句组1和语句组2可以是多条VBA可执行语句。注意:结构化选择语句的Then后不能放入其他语句,否则会被当做简单选择语句来处理。当条件不成立时,可以在Else的后面再用If语句进行进一步判断,这时就形成了选择语句的嵌套形式。2)结构化的选择语句结构化的选择语句由If开头,Endif结尾,其语句结构如下。3)多分支选择语句多分支选择语句又称为情况语句【格式】SelectCase测试条件

Case条件1语句1

Case条件2语句2

Case条件n语句n

[CaseElse语句n+1]EndSelect【功能】当条件成立时,程序执行该Case下面的语句;如果没有一个条件成立,则执行CaseElse后面的语句n+1。4)选择结构的嵌套

在IF语句的Then分支和Else分支中可以完整地嵌套另一IF语句或SelectCase语句,同样SelectCase语句每一个Case分支中都可嵌套另一IF语句或另一SelectCase语句。选择结构的嵌套不允许交叉。比如下面的几个选例中(a)、(b)嵌套形式正确,(c)嵌套形式错误,不能交叉。5)与选择相关的几个函数IIF函数:IIf(条件式、表达示1,表达示2)【说明】条件为真,返回表达式1的值;为假,返回表达示2的值例如:y=IIf(a>b,a,b)如果a>b为真,返回a,为假则返回。即返回a,b中较大的值。Switch函数:switch(条件式1,表达式1[条件式2,表达式2…])【说明】条件式与表达式成对出现,如条件式为真,则返回对应表达式的值例如:y=switch(x>0,1,x=0,0,x<0,-1)如果现在x=10,条件x>0满足,则y=1。Choose函数:Choose(索引式,选项1[,选项2…[,选项n]])【说明】根据索引式的值返回选项列表中的某个值例如:y=choose(x,1,m,7,n)如果x=2,则y=m,即返回第二个选项的值。3、循环结构(1)While…Wend循环语句While…Wend循环语句是当条件成立时执行循环体,故称为当型循环,其语句结构如下。【格式】While条件循环体Wend【功能】While…Wend循环语句是结构化循环语句,当条件成立时执行一次循环体,然后再进行条件判断;若条件成立,再执行一次循环体。如此反复,直到判断条件不成立时结束循环语句。在使用该类循环时,在循环体中一定要有使循环条件不成立的语句,否则将是一个死循环。P249【例7-7】【格式1】Do[While|Until<条件表达式>]<循环代码>[ExitDo]Loop【格式2】Do<循环代码>Loop[While|Until<条件表达式>]2)DoWhile…Loop语句通过Do执行循环有如下两种格式。

注意格式1和格式2的区别:格式2中的循环代码至少被执行一次,格式1中的循环可能一次也执行不到。P250【例7-8】,【例7-9】3)For…Next循环语句

For…Next循环语句常用于循环次数已知的程序,其语句结构如下。【格式】For循环控制变量=初值To终值[Step步长]

<循环代码>Next注意:

其中,“Step步长”可以省略,步长默认值为1。循环控制变量的初值和终值的设置受步长的约束。当步长为负数时,初值必须大于终值才能执行循环体;当步长为正数时,初值必须小于终值才能执行循环体。P251【例7-10】4)循环的嵌套如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定。循环嵌套要注意以下事项。1)内循环变量与外循环变量不能同名;2)外循环必须完全包含内循环,不能交叉;3)不能从循环体外转向循环体内,也不能从外循环转向内循环。

举例:用For…Next循环嵌套编写能在立即窗口输出5行5列的花“*”,事件代码如下:PublicSubprg1()DimiAsInteger,jAsIntegerFori=1To5Forj=1To5Debug.Print"*";NextjDebug.PrintNextiEndSub7.2.4数组1、声明数组

数组是包含相同数据类型的一组变量的集合。通过数组索引下标对数组中的单个变量进行引用。数组在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。【格式】Public/Private/Static/Dim数组名([下标]To上界)[As数据类型]【说明】1)数组下标默认为0,上述例子中上界为8,共9个元素。也可以手工指定数组下标,如DimSZ(1To8)AsInteger。2)通常可以通过一个For循环处理数组。3)在模块的声明部分使用“OptionBase1”语句,可以将数组下标默认值由0改为1。2、二维数组和多维数组【格式】Dim数组名([下标]To上界,[[下标]To上标,…])[As数据类型]

3、动态数组【格式】DimArray()然后用ReDim语句配置数组个数。ReDim语句声明只能用在过程中,它是可执行语句,可以改变数组中元素的个数,但不能改变数组的维数。每次用ReDim语句配置数组时,原有数组的值全部清零。P254【例7-11】7.3.1基本概念1、对象7.3面向对象程序设计基础所谓对象,就是代码和数据的组合,可将它看作为单元。例如,表、窗体或文本框等都是对象。每个对象由类来定义。现实生活的对象就是一个具体的事物。自然界的任何一个具体的事物都可以看作是一个对象。一个人、一本书、一部电话、一台电脑和一架飞机等都是对象。在面向对象的程序设计中,对象是一个具有属性和方法的实体,是面向对象程序设计的基本元素。在VBA中,每个可以操作的实体都是对象。例如,窗体、按钮、文本框、列表框等都是常用的对象。对象是VBA应用程序的基本单元,VBA提供了各种标准对象,我们可以在程序中直接使用这些对象。现实生活中的对象可以包含其他对象。例如,一台电脑是一个对象,它又包含组成电脑的主机、显示器、键盘和鼠标等对象。面向对象程序设计中的对象也可以包含其他对象,如创建的窗体是一个对象,它又包含命令按钮和标签等对象。包含其他对象的对象称为容器对象。所谓属性,是指定义的对象特征,如大小、颜色和对象状态等。现实生活中的每个对象都有许多特性,每个特性都有一个具体的值。例如,某个人的姓名是李晓明,性别是男,身高是1.78米,体重是75公斤,出生日期是1988年12月31日。则姓名、性别、身高、体重和出生日期等就是该对象的特性,李晓明、男、1.78米、75公斤、1988年12月31日等则是描述该对象特性的具体数据。在面向对象程序设计中,对象的特性称为对象的属性,描述该对象特性的具体数据称为属性值。每个对象有多个属性,每个属性有属性值。以“变色”为例。P255【例7-12】2、对象的属性和属性值事件就是对象可以识别和响应的操作。它是预先定义的特定操作。不同对象能够识别不同的事件。例如,电话对象能识别拿起电话听筒这个操作。当需要接听电话时,拿起电话听筒就可以接听对方的电话。当需要打出电话时,拿起电话听筒就可以拨号呼叫对方。因此,拿起电话听筒这个操作就是电话对象的事件。在VBA中,事件也是一种预先定义好的特定动作。如单击鼠标(Click)、双击鼠标(DblClick)、移动鼠标(MouseMove)或按键盘上的某个键等都是事件,当系统装载对象(Load)、初始化对象或遇到导致错误的代码时也会发生事件。也就是说,VBA中的事件可以由用户激发,也可以由程序或系统激发。3、事件方法就是事件发生时对象所执行的操作。方法与对象紧密联系。例如,拿起电话听筒这个事件发生时,电话就执行通话的操作,通话就是拿起电话听筒这个事件的方法。VBA中的方法是事件发生时执行的一段内部程序,即事件过程代码。这些代码指定事件发生时对象需要完成的操作。VBA提供了许多常用的方法,我们可以直接调用这些方法,但有些方法则需要我们编写代码来实现。某一种类型的对象具有一些共同的属性,将这些共同属性抽象出来就组成一个类。例如,每个人都有姓名、性别、身高、体重和出生日期等属性,将所有人具有的共同属性抽象出来就组成人类,每个具体的人都是人类中的一个对象。类就像某一种类型对象的模板,基于类可以生成相同类型的任何一个对象,这些对象具有类的所有属性。面向对象的程序设计引入类这个概念后,用户创建一个对象只需从相应的类中生成一个对象,再设置具体的属性值即可,并不需要从最基础的部分开始设计。如创建命令按钮对象时,就是直接从VBA的命令按钮类中创建命令按钮,再设置其属性值。4、方法5、类7.3.2VBA对象设计的操作方法1、使用VBA开发应用程序的基本方法程序设计需要根据不同的问题设计不同的解决方案,每个程序都有自己独特的功能。虽然程序的编码可能是千变万化、互不相同的,但是使用面向对象程序设计语言开发应用程序却是有一定的规律可循的。1.使用VBA开发应用程序的基本方法VBA充分体现了面向对象程序设计的特点。使用VBA开发应用程序的基本步骤如下。1)设计应用程序的界面。2)设置对象的属性值。3)编写事件过程代码。4)运行调试程序。5)保存程序。

说明设计应用程序界面的主要工作是创建窗体和向窗体设计器添加控件。从工具箱中可以看到各种控件的形状互不相同,从实例1可以看出,控件属性的不同值决定控件的大小、位置、颜色、显示内容的不同,因此,掌握控件的功能和属性对于设计用户界面是非常必要的。使用VBA开发应用程序的基本方法并不是一成不变的。也可以在添加一个控件后,紧接着就设置控件的属性值和编写事件过程代码,再添加下一个控件,并进行相同的操作。不过,按照上述基本方法操作,条理性和规范性要强一些。VBA还可以将应用程序编译成可执行文件,并且编译生成的可执行文件可以脱离VBA开发环境直接在Windows中运行。面向对象程序设计方法与传统的结构化程序设计方法有较大差别。使用结构化程序设计方法设计前面介绍的系统主界面时,需要自己编写代码定义窗口,定义按钮,需要设计程序流程和程序结构。而使用面向对象程序设计方法设计该显示界面时,我们既不需要定义窗体、标签控件和命令按钮控件,也不需要考虑程序流程和程序结构,而是直接使用系统提供的窗体、标签控件和命令按钮控件,在屏幕上“画”出窗口、按钮、标签等不同类型的对象,为这些对象设置属性,确定标签控件和命令按钮控件的位置、大小,编写鼠标单击命令按钮事件对应的功能代码。结构化程序设计方法的程序运行时按照预定的流程执行。面向对象程序设计方法的程序运行时按照事件发生的顺序执行程序代码,这就是面向对象程序的事件驱动机制。掌握各种控件的属性、事件,正确编写事件过程代码和灵活运用系统提供的方法,对使用VBA设计应用程序是非常必要的。使用面向对象的程序设计方法编写程序时,要按照事件驱动机制的要求,仔细分析程序运行中可能产生的每一个事件和对应的方法。如果事件发生时需要程序执行某些代码实现某种功能,则应将这些代码编写成该事件的过程代码;如果事件发生时不需要执行任何代码,则不必为这些事件编写过程代码,程序运行时系统将忽略这些事件,事件发生时也不会有任何反应。2、程序的事件驱动机制3、Access事件事件是一些操作,事件发生一般是由操作界用面触发的,如单击、双击或按下键盘上的键。此时,该项操作产生消息通知Access系统,让数据库知道发生了什么事情,Access系统根据发生事件的种类来决定如何处理—执行宏或VBA代码。Access事件只存在于窗体和报表中,如窗体的打开、关闭会产生事件。窗体和报表都有各自的事件,窗体和报表中的每个控件也都有各自的事件。为满足精确控制系统运行的需要,事件非常多。而大部分的事件不需要用户干预,Access按默认的方法处理事件。为了提高系统的功能,可为少量的事件定义自己的处理方法,定义宏或编写VBA代码。Access事件分成8类,如表7-8所示。7.3.3VBA对象设计的常见操作1、打开对象的操作1)打开窗体操作【格式】DoCmd.OpenFormformname[,view][,filtername][,wherecondition][,datamode][,windowmode][,openargs](2)打开报表操作【格式】DoCmd.OpenReportreportname[,view][,filtername][,wherecondition]【说明】格式中的参数说明如表7-10所示。例:预览名为“学生基本情况表”的报表的操作。DoCmd.OpenReport“stuinf”,acViewPreview2、关闭对象的操作【格式】DoCmd.Close[objecttype,objectname],[save]3、VBA编程验证数据P261【例7-13】4、计时事件VB中提供Timer时间控件可以实现“定时”功能。但VBA并没有直接提供Timer时间控件,而是通过设置窗体的“计时器间隔(TimerInterval)”属性与添加“计时器触发(Timer)”事件来完成类似“定时”功能。其处理过程是:Timer事件每隔TimerInterval时间间隔就会被激发一次,并运行Timer事件过程来响应。这样重复不断,即实现“定时”处理功能。P262【例7-14】,P263【例7-15】5、鼠标和键盘事件处理6、用代码设置Access选项(1)鼠标操作(2)键盘操作P266【例7-16】Access系统环境有许多选项设定(工具/选项菜单项),值不同会产生不同的效果。比如当程序中执行某个操作查询(更新、删除、追加、生成表)时,有些环境会弹出一些恼人的提示信息要求确认等。所有选项设定均可在Access环境下静态设置,也可以在VBA代码里动态设置。其语法为:Application.SetOption(OptionName,Setting)P266【例7-17】7.4.1宏、模块和VBA

7.4模块的基本概念虽然宏很好用,但它运行的速度比较慢,也不能直接运行很多Windows程序。尤其是不能自定义一些函数,这样当我们要对某些数据进行一些特殊的分析时,它就无能为力了。由于宏具有这些局限性,所以在给数据库设计一些特殊的功能时,需要用到“模块”对象来实现,而这些“模块”都是由VBA语言来实现的。使用它编写程序,然后将这些程序编译成拥有特定功能的“模块”,以便在Access中调用。VisualBasic,就是微软公司推出的可视化BASIC语言,用它来编程非常简单。因为它简单,而且功能强大,所以微软公司将它的一部分代码结合到Office中,形成我们今天所说的VBA。它的很多语法继承了VisualBasic,所以我们可以像编写VisualBasic语言那样来编写VBA程序,以实现某个功能。当这段程序编译通过以后,将这段程序保存在Access中的一个模块里,并通过类似在窗体中激发宏的操作那样来启动这个“模块”,从而实现相应的功能。“模块”和“宏”的使用方法差不多。其实Access中的“宏”也可以存成“模块”,这样运行起来速度还会更快呢。“宏”的每个基本操作在VBA中都有相应的等效语句,使用这些语句就可以实现所有单独“宏”命令,所以VBA的功能是非常强大的。如果你要用Access来完成一个复杂的桌面数据库系统,你就应该掌握VBA,它可以帮助用户实现很多功能。但如果你只是偶尔使用一下Access或者只是用Access来做一些简单的工作,那么只要简单了解一下它就可以了。1.类模块2.标准模块类模块是可以定义新对象的模块。新建一个类模块,也就是创建了一个新对象。模块中定义的过程将变成该对象的属性或方法。类模块可以独立存在,也可以与窗体或报表同时出现。标准模块包括通用过程和常用过程,它们不与任何对象相关联,并且可以在数据库中的任何位置运行。标准模块一般用于存放供其他对象使用的公共变量或过程,也可以定义私有变量或私有过程仅供本模块使用。7.4.2模块的分类7.4.3创建模块模块中包含有各种各样的函数与过程。一般的模块不能调用,只有类模块才能在设计中调用。如果想调用一般模块中的过程或者函数,可以在该模块中编写过程或函数的时候,将该过程或函数定义为公共对象。下面介绍模块和过程的创建。在Access中,模块是Access的一个对象,它由过程组成,而过程的代码必须由程序员或用户以“手动”方式编写。P268【例7-18】7.4.4创建过程Sub过程是执行一系列操作的过程,以关键字Sub开始,并以EndSub结束。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论