第十一章模块与VBA编程_第1页
第十一章模块与VBA编程_第2页
第十一章模块与VBA编程_第3页
第十一章模块与VBA编程_第4页
第十一章模块与VBA编程_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

1、第十一章模块与第十一章模块与VBAVBA编程编程 本章主要内容本章主要内容11.1 VBA与模块的概念与模块的概念11.2 VBA编程基础编程基础11.3 VBA的程序结构的程序结构11.4 过程定义和调用过程定义和调用11.5 VBA的数据库编程的数据库编程 11.1 模块与模块与VBA的概念的概念一、模块的概念一、模块的概念 模块是模块是Access数据库中的一个对象,它存放着用数据库中的一个对象,它存放着用VBA语语言言( Visual Basic for Applications )编写的并能完成所有编写的并能完成所有ACCESSACCESS功能的程序代码。功能的程序代码。二、模块的分

2、类二、模块的分类 标准模块作用是合理组织程序或控制程序执行流程,纯标准模块作用是合理组织程序或控制程序执行流程,纯代码,不与任何对象(窗体、报表、控件等)相关联,可放代码,不与任何对象(窗体、报表、控件等)相关联,可放置在数据库中的任何位置,可以被工程内数据库对象调用。置在数据库中的任何位置,可以被工程内数据库对象调用。 类模块是含有类模块是含有类类定义的模块,包括其属性、事件和方法定义的模块,包括其属性、事件和方法的定义。与窗体、报表、控件等紧密关联,如:的定义。与窗体、报表、控件等紧密关联,如:都是都是类类模块。模块。三、宏与模块三、宏与模块Access宏实质上就是宏实质上就是VBA程序,

3、宏的操作都是由程序,宏的操作都是由VBA代代码实现的。码实现的。宏的用法简单,上手容易,比较适合没有编程基础的用户宏的用法简单,上手容易,比较适合没有编程基础的用户开发普通应用程序。宏的不足是功能较弱、运行效率较差。开发普通应用程序。宏的不足是功能较弱、运行效率较差。 Access模块中内嵌的模块中内嵌的VBA功能强大,具有较完功能强大,具有较完 善的语法体系和强大的开发功能。它采用目前主流善的语法体系和强大的开发功能。它采用目前主流 的面向对象机制和可视化编程环境,适用于开发的面向对象机制和可视化编程环境,适用于开发 高级高级Access数据库应用系统。数据库应用系统。 1将宏转换为模块(将

4、宏转换为模块(两种情况)两种情况) 转换窗体或报表中的宏转换窗体或报表中的宏 转换不属于任何数据库对象(窗体和报表)的转换不属于任何数据库对象(窗体和报表)的全局宏全局宏。转换窗体或报表中的宏转换窗体或报表中的宏 在在“设计视图设计视图”中打开窗体。中打开窗体。 “工具工具”菜单菜单 “宏宏”命令项命令项 “将窗体的宏转换为将窗体的宏转换为Visual Basic代码代码”,屏幕显示,屏幕显示“转换窗体宏转换窗体宏”对话框,如图:对话框,如图: 在对话框中单击在对话框中单击“转换转换”按钮,弹出按钮,弹出“转换完毕转换完毕”对话框。对话框。 单击单击“确定确定”按钮完成转换。按钮完成转换。报表

5、中的宏转换过程窗体时完全一样。报表中的宏转换过程窗体时完全一样。将全局宏转换为模块将全局宏转换为模块 在在“数据库数据库”窗口中单击窗口中单击“宏宏”对象,选择要转换的对象,选择要转换的。 选择选择“文件文件”菜单中的菜单中的“另存为另存为”命令项,屏幕显示命令项,屏幕显示“另存为另存为”对话框,如图:对话框,如图: 在对话框的在对话框的“保存类型保存类型”下拉列表框中选择下拉列表框中选择“模块模块”,然后单击然后单击“确定确定”按钮,屏幕显示按钮,屏幕显示“转换宏转换宏”对话框。对话框。 在对话框中单击在对话框中单击“转换转换”按钮,弹出按钮,弹出“转换完毕转换完毕”对对话框话框 单击单击“

6、确定确定”按钮完成转换。按钮完成转换。“”宏转换成的代码如下:宏转换成的代码如下: 对于以下的操作,宏不能实现而对于以下的操作,宏不能实现而。(1) (1) 复杂的数据库维护和操作。复杂的数据库维护和操作。(2) (2) 自定义的过程和函数。自定义的过程和函数。(3) (3) 运行出错时的处理。运行出错时的处理。(4) (4) 在代码中定义数据库的对象,用于动态地创建对象。在代码中定义数据库的对象,用于动态地创建对象。(5) (5) 一次对多个记录进行处理。一次对多个记录进行处理。(6) (6) 向过程传递变量参数。向过程传递变量参数。(7) (7) 使用使用ActiveXActiveX控件和

7、其他应用程序对象。控件和其他应用程序对象。 VBA VBA(Visual Basic for ApplicationsVisual Basic for Applications)是广泛流行)是广泛流行的可视化应用程序开发语言的可视化应用程序开发语言VBVB(Visual BasicVisual Basic)的子集。)的子集。 有有VBAVBA语言基础的读者阅读语言基础的读者阅读VBVB程序代码会感觉很熟悉,程序代码会感觉很熟悉,学习起来也会变得相当容易。学习起来也会变得相当容易。 VBAVBA语法简单但功能强大,支持基于面向对象程序设计,语法简单但功能强大,支持基于面向对象程序设计,() 非常

8、适合初学者使用。非常适合初学者使用。 需要注意的是,需要注意的是,VBVB语言开发系统是独立运行的开发环语言开发系统是独立运行的开发环境,它创建的应用程序可以独立运行在境,它创建的应用程序可以独立运行在WindowsWindows平台上;平台上;声明:声明(定义)变量声明:声明(定义)变量过程过程(若干个):过程是模块的组成单元,分若干个):过程是模块的组成单元,分2 2种:种: 子子(Sub)(Sub)过程过程 子过程没有返回值,它的定义格式如下:子过程没有返回值,它的定义格式如下: 其中的程序代码表示要完成的一系列操作。调用子过程用其中的程序代码表示要完成的一系列操作。调用子过程用 函数函

9、数(Function)(Function) 函数过程又称为函数过程又称为FunctionFunction过程,函数过程有返回值,它的过程,函数过程有返回值,它的定义格式如下。定义格式如下。 调用函数过程时,调用函数过程时,。1 1进入进入 对于类模块和标准模块,进入对于类模块和标准模块,进入VBEVBE环境的方法不一样:环境的方法不一样:(1 1)进入)进入的的3 3种方法种方法方法方法1 1:在设计视图中打开窗体或报表,然后:在设计视图中打开窗体或报表,然后方法方法2 2:在设计视图中打开窗体或报表,然后:在设计视图中打开窗体或报表,然后,在弹出的快捷菜单中选择,在弹出的快捷菜单中选择“事件

10、生成器事件生成器”命命 令项。令项。方法方法3 3:在设计视图中打开窗体或报表,:在设计视图中打开窗体或报表, 单击单击“事件事件”选项卡选项卡右侧的右侧的“生成器生成器”按钮,按钮, 弹出弹出“选择生成器选择生成器”对话框对话框“代码生成器代码生成器”“确确定定”。(2 2)进入)进入的方法的方法方法方法1 1:在:在“数据库数据库”窗口,窗口,。方法方法2 2:选择:选择“数据库数据库”窗窗口口 中的中的“”对象,对象, 单击单击“”按钮。按钮。方法方法3 3: 在在“数据库数据库”窗口中窗口中 2 2、集成编程环境、集成编程环境VBEVBE界面:界面:工具栏工具栏 VBEVBE界面中包括

11、有界面中包括有“标准标准”、“编辑编辑”、“调试调试”和和“用户窗体用户窗体”等多种工具栏,可选择等多种工具栏,可选择“视图视图”菜单中菜单中“工工具栏具栏”命令下的子命令显示和隐藏这些工具栏。如图为命令下的子命令显示和隐藏这些工具栏。如图为“标准标准”工具栏。工具栏。 Access视图视图用于从用于从VBE切换到数据库窗口切换到数据库窗口插入模块插入模块插入新的模块插入新的模块运行子过程运行子过程/用户窗体用户窗体运行模块程序运行模块程序中断运行中断运行中断正在运行的程序中断正在运行的程序重新设置重新设置结束正在运行的程序,重新进入模块设计状态结束正在运行的程序,重新进入模块设计状态设计模式

12、设计模式进入和退出进入和退出设计模式设计模式工程资源管理器工程资源管理器打开工程资源管理器窗口打开工程资源管理器窗口属性窗口属性窗口打开属性窗口打开属性窗口对象浏览器对象浏览器打开对象浏览器窗口打开对象浏览器窗口 工程资源管理器,显示应用程序的所有模块文件。工程资源管理器,显示应用程序的所有模块文件。3 3个按钮:个按钮: 按钮可以打开相应的代码窗口。按钮可以打开相应的代码窗口。 按钮可以打开相应的对象窗口。按钮可以打开相应的对象窗口。 可以隐藏或显示对象的分类文件夹。可以隐藏或显示对象的分类文件夹。 列出了所选对象的属性,由列出了所选对象的属性,由“对象对象”框和框和“属性属性”列表组列表组

13、成。成。: 用于列出当前所选的对象。用于列出当前所选的对象。:按字母或分类对对象属性进行排序。:按字母或分类对对象属性进行排序。 可以在属性窗口中直接用前面用到的方法设置可以在属性窗口中直接用前面用到的方法设置 对象的属性(静态设置方法)。对象的属性(静态设置方法)。 可以在代码窗口中用可以在代码窗口中用VBAVBA代码编辑对象的属代码编辑对象的属 性(动态设置方法)。性(动态设置方法)。 代码窗口主要是用来编写、显示以及编辑代码窗口主要是用来编写、显示以及编辑VBAVBA代码,代码,如下图所示。如下图所示。代码窗口代码窗口五、标准模块例子五、标准模块例子(1)标准)标准例子例子Public

14、Sub area()Dim s, r As StringConst PI As Single = 3.14159r = (请输入半径请输入半径:)s = Round(PI * r * r, 2) s, , 圆的面积是圆的面积是:End SubPublic s(r As Single) As SingleConst PI As Single = 3.14159r = (请输入半径:)s = Round(PI * r * r, 2)End FunctionPublic fac(n As Integer) As LongDim m As Integerfac = 1: m = 1Do While m

15、 = n fac = fac * m m = m + 1LoopEnd FunctionPrivate Sub Cmdarea_Click() End SubPrivate Sub Cmdfac_Click() Dim n As Integer, result As Long n = (请输入请输入 n:) result = fac(n) (阶乘为阶乘为: & result)End Sub Private Sub Dim username, password As String = chen2008 = 1234 If UCase(Me.Tuser.Value) UCase(usern

16、ame) Or Me.Tword.Value password Then MsgBox (错误的用户名或密码错误的用户名或密码,请重新输入请重新输入!) Me.Tuser.Value = Me.Tword.Value = Me.Tuser.SetFocus Me.Lab1.Caption = CStr(CInt(Me.Lab1.Caption) + 1) If CInt(Me.Lab1.Caption) 3 Then DoCmd.Close , , acSaveNo End If Exit Sub End If MsgBox (欢迎进入图书查询管理系统欢迎进入图书查询管理系统) End Sub

17、选项组命令按钮标签Private Sub Com1_Click() Select Case Case 1 DoCmd.OpenQuery 借阅记录查询借阅记录查询 Case 2 DoCmd.OpenQuery 未借出图书查询未借出图书查询 Case 3 DoCmd.OpenForm 读者信息维护读者信息维护 Case 4 DoCmd.OpenReport 图书信息图表图书信息图表, End SelectEnd Sub注意加上此参数注意加上此参数演示演示 11.2 VBA 11.2 VBA编程基础编程基础:VBAVBA提供了较为完备的的数据类型,它包含了除提供了较为完备的的数据类型,它包含了除A

18、ccessAccess表表 中的中的OLEOLE对象和备注类型以外的其他所有数据类型。对象和备注类型以外的其他所有数据类型。 数据类型数据类型类型标识类型标识后缀后缀字节字节 范范 围围默认值默认值字节字节byte1布尔布尔Boolean2Tree或或FalseFalse整数整数Integer%2-32 76832 7670长整数长整数Long&4-2 147 483 6482 147 483 6470单精度数单精度数Single!4负数:负数:-3.402 823E38-1.401 298E-45正数:正数:1.401 298E-453.402 823E380双精度数双精度数Doub

19、le#8负数:负数:-1.797 693 134 862 32E308-4.946 564 584 124 7E-324正数:正数:4.946 564 584 124 7E-3241.797 693 134 862 32E3080货币货币Currency8-922 337 203 685 477.580 8922 337 203 685 477.580 70字符串字符串String$065 500个字符个字符“”日期型日期型Date 8100年年1月月1日日9999年年12月月31日日0对象型对象型Object 4 变体类型变体类型Variant 无数字和双精度同,文本和字符串同数字和双精度同

20、,文本和字符串同Empty 数值常量由数字等组成,如数值常量由数字等组成,如256256、123.45123.45、34.123 E-534.123 E-5等。等。 由定界符括起来的一串字符,如由定界符括起来的一串字符,如”Computer”Computer”、”ABC” ”ABC” ”武汉武汉” 符号常量可用符号常量可用ConstConst语句创建,格式如下:语句创建,格式如下: Const Const 符号常量名称符号常量名称= =常量值常量值 一般用大写命名,以便和变量区分。一般用大写命名,以便和变量区分。例如,下面语句定义了符号常量例如,下面语句定义了符号常量PIPI,其值为,其值为3

21、.14163.1416。 Const PI=3.1416Const PI=3.1416 如果在如果在ConstConst前面加上前面加上GlobalGlobal或或PublicPublic,则定义的符号,则定义的符号常量就是全局符号常量,这样,在所有的模块中都可以使用。常量就是全局符号常量,这样,在所有的模块中都可以使用。 在定义符号常量时,不需要为常量指出数据类型,在定义符号常量时,不需要为常量指出数据类型,VBAVBA会会自动确定其数据类型。自动确定其数据类型。 系统常量是指系统常量是指AccessAccess启动时自动建立的常量,包括:启动时自动建立的常量,包括:TrueTrue、Fal

22、seFalse、YesYes、NoNo、OffOff、OnOn和和NullNull等等 内部常量是内部常量是VBAVBA预定义的内部符号常量,所有内部常量预定义的内部符号常量,所有内部常量均可在宏或均可在宏或VBAVBA代码中使用。通常,内部常量通过前两个字代码中使用。通常,内部常量通过前两个字母来指明定义该常量的对象库。母来指明定义该常量的对象库。AccessAccess数据库的常量:数据库的常量: 以以“ac”ac”开头,例如:开头,例如:acCmdSaveAsacCmdSaveAs,ActiveX Data ObjectsActiveX Data Objects(ADOADO)接口数据库

23、的常量:)接口数据库的常量: 以以“ad”ad”开头,例如:开头,例如:adCmdOpenTableadCmdOpenTableVBVB库的常量库的常量: : 以以“vbvb”开头。开头。 例如,例如,NewVarNewVar%=65 %=65 定义整形变量。定义整形变量。 无后缀时,系统会默认为无后缀时,系统会默认为VariantVariant(不定、通用)数据类型。(不定、通用)数据类型。 先定义,后使用先定义,后使用例如,定义整型变量:例如,定义整型变量:NewVarNewVar: Dim NewVarDim NewVar As Integer As Integer 定义定长字符串变量定

24、义定长字符串变量MyNameMyName: Dim MyNameDim MyName As String As String* *1010变量的作用域:变量在程序中生存和使用的范围。变量的作用域:变量在程序中生存和使用的范围。 变量定义时的位置不同,其作用域也不同。变量定义时的位置不同,其作用域也不同。依据作用域将依据作用域将 (1) (1) 在子过程或函数过程中定义的变量,或者不用在子过程或函数过程中定义的变量,或者不用DimDimAsAs而直接使用的变量而直接使用的变量. .。 。(2) (2) 在模块的开始位置、所有过程外面定义的变量,运行在模块的开始位置、所有过程外面定义的变量,运行时

25、模块所包含的所有子过程和函数中都可以使用该变量。时模块所包含的所有子过程和函数中都可以使用该变量。(3) (3) 在标准模块中所有过程之外的起始位置定义的变量。在标准模块中所有过程之外的起始位置定义的变量。 在所有类模块和标准模块中都可以使用该变量。在所有类模块和标准模块中都可以使用该变量。Private Sub prg1() Static a As Integer Dim b As Integer a = a + 1 b = b + 1 Debug.Print a=; a, b=; bEnd Sub AccessAccess中的对象或属性,可在中的对象或属性,可在VBAVBA程序代码中作为变

26、量来程序代码中作为变量来引用。引用。窗体对象的引用格式如下:窗体对象的引用格式如下: 报表对象的引用格式如下:报表对象的引用格式如下: 如果省略了属性名称,则表示控件的基本属性。如果省略了属性名称,则表示控件的基本属性。例如,设置例如,设置“学生基本情况学生基本情况”窗体中窗体中“学号学号”文本框的属性,文本框的属性,代代码表示如下:码表示如下:等价于:等价于: 当需要多次引用对象时当需要多次引用对象时, , 下面这样引用就方便多了:下面这样引用就方便多了: 先定义一个控件变量,如:先定义一个控件变量,如: 再为该变量赋值:再为该变量赋值: 下面就可以方便地引用学号这个对象了:下面就可以方便地

27、引用学号这个对象了: 。 数组在内存中占用连续一片内存区域。数组中每一个数组在内存中占用连续一片内存区域。数组中每一个变量称为数组元素,数组元素可以通过其下标来访问,变量称为数组元素,数组元素可以通过其下标来访问,定义一:定义一: 定义了一个定义了一个ByteByte型数组,含有型数组,含有1010个元素:个元素:bAge(0bAge(0bAge(9)bAge(9)。定义二定义二 bAge bAge数组只有数组只有3 3个元素:个元素:bAge(3)bAge(4)bAge(5) bAge(3)bAge(4)bAge(5) 数组元素可以象普通变量一样使用,既可以存储数据,也数组元素可以象普通变量

28、一样使用,既可以存储数据,也可以参加表达式计算:可以参加表达式计算:bAge(3)=21bAge(3)=21为为bAge(3)bAge(3)元素赋值元素赋值 bAge(4)=bAge(3)bAge(4)=bAge(3)* *5 5 参加计算参加计算 函数的使用格式为:函数名函数的使用格式为:函数名(参数参数 , ) 如:如:Right(“abcdef”,2) 如:如:Left(山东交通学院山东交通学院,2) 如:如:year(date() 如:如:m=int(rnd*100)+1 产生产生1个个1,100上的随机整数上的随机整数 n=int(rnd*90)+10 产生产生1个个10,99上的随

29、机整数上的随机整数 表达式:用运算符或圆括号将常量、变量和函数连接起来的表达式:用运算符或圆括号将常量、变量和函数连接起来的 有意义的式子。有意义的式子。VBAVBA中有:算术运算符中有:算术运算符 关系运算符、关系运算符、 逻辑运算符、逻辑运算符、 连接运算符连接运算符 对象运算符。对象运算符。算术运算符:算术运算符: 乘幂乘幂“”乘法乘法“* *”、除法、除法“”整数除法整数除法“” 求模求模”Mod”Mod”加法加法“+”+”、减法、减法“”。特别说明:特别说明: 整数除法运算符整数除法运算符“”的两个操作数如果有小数部分,的两个操作数如果有小数部分,系系统会先取整后再运算,并舍去结果中

30、的小数。统会先取整后再运算,并舍去结果中的小数。例如:例如: 10103 3的结果是的结果是3 3 10.2 10.24.84.8的结果是的结果是2 2。 求模运算符求模运算符“Mod”Mod”的两个操作数如果有小数,系统会先的两个操作数如果有小数,系统会先四四舍五入将其变成整数后再运算,结果为舍五入将其变成整数后再运算,结果为,其符号与被除,其符号与被除数相同。数相同。例如:例如: 10 Mod 4 10 Mod 4 的结果是的结果是 2 2 12 Mod -5 12 Mod -5 的结果是的结果是 2 2 -12.8 Mod 4 -12.8 Mod 4 的结果是的结果是 -1-1。 6 6

31、个运算符。个运算符。关系运算符的结果为逻辑值:关系运算符的结果为逻辑值:True(True(真真) )、False(False(假假) )。例如:例如:关系表达式关系表达式 abaaabaa 的结果是的结果是 TrueTrue。关系表达式关系表达式 #2008/5/12# #2008/10/1# #2008/5/12# #2008/10/1# 的结果是的结果是 TrueTrue。 逻辑运算符:逻辑运算符: 逻辑与逻辑与 、 逻辑或逻辑或 、 逻辑非逻辑非 字符串连接运算符:字符串连接运算符: + & + & 例如:例如:“abc”+“xyz”的结果是的结果是 abcxyz “2

32、+3” & “=” & (2+3)的结果是的结果是 “2+3=5”。1. 对象:对象:客观世界中任何一个事物实体都可以看成一个对象客观世界中任何一个事物实体都可以看成一个对象 (object)。)。 如:房屋、桌椅、电视机、人;如:房屋、桌椅、电视机、人; 又如:又如: windows系统屏幕上的按钮、标签、滚动条。系统屏幕上的按钮、标签、滚动条。 对象具有对象具有状态状态,状态可以,状态可以用数据进行描述。用数据进行描述。 对象具有对象具有行为行为,行为可以,行为可以用程序来实现用程序来实现 。 2、对象的属性(、对象的属性(attribute) 描述对象的描述对象的(特性和

33、特性和特性)特性) 的一组参数数据的一组参数数据属性属性,如:电视机的型号、颜色、大小为电视机的属性;屏幕上的如:电视机的型号、颜色、大小为电视机的属性;屏幕上的 按钮的位置、大小、文字、颜色等是按钮的属性。按钮的位置、大小、文字、颜色等是按钮的属性。3. 对象的方法对象的方法 对象的方法对象的方法(method)也是对象执行的操作。但此操作)也是对象执行的操作。但此操作由系统内定的或默认的程序代码来完成,可以看作是由系统内定的或默认的程序代码来完成,可以看作是ACCESS对象的内部函数。对象的内部函数。例如,将焦点移到例如,将焦点移到“学生基本情况学生基本情况”窗体上的窗体上的“学号学号”文

34、本文本框中框中 又如:又如:调用OpenForm方法打开“学生基本情况学生基本情况”窗体。 例如:添加一个对象例如:添加一个对象 4. 对象的事件对象的事件 : 事件(事件(event)是预先定义好的、能够被对象识别的)是预先定义好的、能够被对象识别的 。 在在ACCESS中,可以激发事件的动作包括单击中,可以激发事件的动作包括单击()事件、双击事件、双击()事件、装入事件、装入()事件、事件、 移动鼠标移动鼠标()事件等。事件等。一个事件对应一个程序段,这个程序段称为一个事件对应一个程序段,这个程序段称为()。同一事件能有不同的事件过程(编写不同的程序段)同一事件能有不同的事件过程(编写不同

35、的程序段) 来完成不同的任务。来完成不同的任务。: 都是对象完成某个任务。都是对象完成某个任务。:对象的事件对象的事件是固定的,用户不能创建。而是固定的,用户不能创建。而对象的方法对象的方法则不则不同,它可以扩充,同,它可以扩充, 在创建在创建类类时可以添加新的方法。时可以添加新的方法。同一个同一个事件事件可完成不同任务,取决于所编的程序代码是怎可完成不同任务,取决于所编的程序代码是怎样的,样的, 而而方法方法则是固定则是固定 的,任何时候调用都是完成同一的,任何时候调用都是完成同一个任务,所以其中的程序代码不能由用户来编写。个任务,所以其中的程序代码不能由用户来编写。 (class)(cla

36、ss)是是对一组具有相似属性的对一组具有相似属性的对象的描述,是一个对象的描述,是一个概念、一种描述、一张图纸、一个模板,是水中月镜中花。概念、一种描述、一张图纸、一个模板,是水中月镜中花。 对象对象是实体,是类的是实体,是类的实例,实例,依照已定义的依照已定义的“类类”可以可以“生成生成”一个个的一个个的对象。对象。例如:为例如:为定义一个定义一个,该该类的属性类的属性包括:性别、肤色、身包括:性别、肤色、身 高、体重、国籍等属性。高、体重、国籍等属性。 基于上述人类,产生了:男人和女人;白人和黑人;高基于上述人类,产生了:男人和女人;白人和黑人;高个人和矮个人;胖人和瘦人;美国人和中国人。

37、个人和矮个人;胖人和瘦人;美国人和中国人。 这些人都具有这些人都具有的共同特性,是人类的的共同特性,是人类的。又例如:为又例如:为汽车汽车定义一个定义一个汽车类汽车类,该类包括:名称、规格型号、该类包括:名称、规格型号、颜色、马力、价格、产地等属性。颜色、马力、价格、产地等属性。基于此类则产生:轿车、客车、货车、奔驰车、东风大货车等。基于此类则产生:轿车、客车、货车、奔驰车、东风大货车等。还可以包含还可以包含、类具有、类具有 (subclass):是以某个类的定义为起点创建的新:是以某个类的定义为起点创建的新类,新类除了具有(类,新类除了具有()现有类里的方法和属性外,还可)现有类里的方法和属

38、性外,还可以添加新的方法和属性。原有的类称为以添加新的方法和属性。原有的类称为。例如:学生是一个类,本科生可以定义为一个子类,本科生例如:学生是一个类,本科生可以定义为一个子类,本科生 除了具备学生除了具备学生 的属性外。还具有自己的属性:(学的属性外。还具有自己的属性:(学 制制4年、年龄一般在年、年龄一般在1925岁之岁之 间。)间。)又例如:汽车定义为一个类,载重汽车是其中的一个子类,又例如:汽车定义为一个类,载重汽车是其中的一个子类, 它具有汽车的所有属性,它具有汽车的所有属性, 还可以定义自己的属性(如:体积大、载重量大还可以定义自己的属性(如:体积大、载重量大 等)。等)。继承(继

39、承(Inheritance) : 子类自动具有父类的属性子类自动具有父类的属性称为称为继承继承。 这种子类自动依据父类的属性进行自动更新的性质节省了这种子类自动依据父类的属性进行自动更新的性质节省了用户的编程时间和精力。用户的编程时间和精力。封装(封装(Encapsulation) 在面向过程程序设计方法中,数据和操作是分离的。面在面向过程程序设计方法中,数据和操作是分离的。面向对象技术将对象的状态属性与行为操作组织在一起,实现向对象技术将对象的状态属性与行为操作组织在一起,实现了数据和操作在对象中的统一封装。了数据和操作在对象中的统一封装。 封装的目的是对对象属性和操作的隐藏,在编程时,用封

40、装的目的是对对象属性和操作的隐藏,在编程时,用户只需知道对象具有什么功能以及需要对象做些什么操作,户只需知道对象具有什么功能以及需要对象做些什么操作,而不必了解操作的过程。而不必了解操作的过程。ACCESS提供的基类分为两大类:提供的基类分为两大类: 容器类(容器类(Container) 控件类(控件类(Control) 可分别生成容器对象和控件对象。称为容器和控件。可分别生成容器对象和控件对象。称为容器和控件。 容器也是一种控件,但是能够包容其他对象;容器也是一种控件,但是能够包容其他对象;控件是一个可以用图形化方式显示出来并能与用户进行交控件是一个可以用图形化方式显示出来并能与用户进行交

41、互的基本对象,控件不能包含其它对象。互的基本对象,控件不能包含其它对象。 在在AccessAccess系统中,常用事件有:鼠标事件、键盘事件、窗口系统中,常用事件有:鼠标事件、键盘事件、窗口事件、对象事件和操作事件等。事件、对象事件和操作事件等。(1 1)ClickClick事件:每单击一次鼠标,激发一次该事件。事件:每单击一次鼠标,激发一次该事件。(2 2)DblelickDblelick事件:每双击一次鼠标,激发一次该事件。事件:每双击一次鼠标,激发一次该事件。(3 3)MouseMoveMouseMove事件:移动鼠标所激发的事件。事件:移动鼠标所激发的事件。(4 4)MouseUpMo

42、useUp事件:释放鼠标所激发的事件。事件:释放鼠标所激发的事件。(5 5)MouseDownMouseDown事件:按下鼠标所激发的事件。事件:按下鼠标所激发的事件。(1)KeyPress事件:返回被敲击键的事件:返回被敲击键的ASCII码。码。 如如: A和和a的的ASCII码分别是码分别是65和和97(2)KeyDown事件:返回被敲击键的扫描码。事件:返回被敲击键的扫描码。 如如: A和和a的的ASCII码分别是码分别是65和和97,但是它们,但是它们 KeyCode值相同。值相同。(3)KeyUp事件:每释放一个键,激发一次该事件。返回事件:每释放一个键,激发一次该事件。返回 值值,

43、与与KeyDown事件相同。事件相同。(1)Open事件:事件: 打开窗体事件。打开窗体事件。(2)Load事件:事件: 加载窗体事件。加载窗体事件。(3)Resize事件:重绘窗体事件,事件:重绘窗体事件,(4)Active事件:激活窗体事件。事件:激活窗体事件。(5)Unload事件:卸载窗体事件。事件:卸载窗体事件。(6)Close事件:事件: 关闭窗体事件。关闭窗体事件。 在打开窗体时,将按照下列顺序发生相应的事件:在打开窗体时,将按照下列顺序发生相应的事件: 在关闭窗体时,将按照下列顺序发生相应的事件:在关闭窗体时,将按照下列顺序发生相应的事件:(1)GotFocus事件:获得焦点事

44、件。事件:获得焦点事件。(2)LostFocus事件:失去焦点事件。事件:失去焦点事件。(3)BeforeUpdate事件:更新前事件。事件:更新前事件。(4)AfterUpdate事件:更新后事件。事件:更新后事件。(6)Chang事件:更改事件。事件:更改事件。(1)Delete事件:删除事件。事件:删除事件。(2)BeforeInsert事件:插入前事件。事件:插入前事件。(3)AfterInsert事件:插入后事件。事件:插入后事件。 DoCmd是是Access提供的又一个重要的对象。通过该提供的又一个重要的对象。通过该 对象,可以调用对象,可以调用Access内部的方法,内部的方法,

45、格式:格式:DoCmd 例如:例如:DoCmd OpenForm “学生学生”, acViewNomal,acEdit与下面宏操作类似:与下面宏操作类似: DoCmd常用的方法包括打开窗体、报表、表和查询等对常用的方法包括打开窗体、报表、表和查询等对象,以及关闭这些对象。象,以及关闭这些对象。(1)打开窗体操作)打开窗体操作 打开当前数据库中的打开当前数据库中的“学生基本情况学生基本情况”窗体,在该窗体中只窗体,在该窗体中只包含那些政治面貌是包含那些政治面貌是“党员党员”的学生的学生 DoCmd.OpenForm 学生基本情况学生基本情况, , ,政治面貌政治面貌 = 党员党员(2)打开报表操

46、作)打开报表操作 打开报表使用打开报表使用OpenReport方法,格式如下:方法,格式如下:(3)打开表操作)打开表操作 打开表使用打开表使用OpenTable方法,格式如下:方法,格式如下:在在“数据表数据表”视图中打开视图中打开“学生学生”表,并且移到一条新记录的表,并且移到一条新记录的操作。操作。(4)打开查询操作)打开查询操作 打开查询的操作格式如下:打开查询的操作格式如下: (5)关闭对象操作)关闭对象操作 Close方法用来关闭对象,命令格式如下:方法用来关闭对象,命令格式如下: 关闭关闭“成绩表成绩表”报表的操作。报表的操作。 声明语句用来定义和命名变量、符号常量和过程,在定义

47、这声明语句用来定义和命名变量、符号常量和过程,在定义这些内容的同时,也定义了它们的作用范围。些内容的同时,也定义了它们的作用范围。 一般变量赋值:一般变量赋值: 变量名变量名 = 值或表达式值或表达式对象的属性赋值:对象的属性赋值: 对象名属性对象名属性 = 属性值属性值:InputBox 函数函数函数:函数:InputBox( Prompt,Title,Default,Xpos,Ypos )语句:语句:InputBox Prompt,Title,Default,Xpos,Ypos 各参数的含义如下:各参数的含义如下:Prompt:对话框中的提示字符串,最大长度为:对话框中的提示字符串,最大长

48、度为1 024个字符。个字符。Title: 对话框标题栏中的标题内容。对话框标题栏中的标题内容。Default:在没有输入数据时,文本框中的默认值。:在没有输入数据时,文本框中的默认值。Xpos: 对话框右侧与屏幕左侧的距离,默认值为水平居中。对话框右侧与屏幕左侧的距离,默认值为水平居中。Ypos: 对话框上侧与屏幕上边的距离,默认值对话框在对话框上侧与屏幕上边的距离,默认值对话框在 距下边约距下边约1/3的位置。的位置。 若使用函数则有返回值,即对话框中输入的字符型数据。若使用函数则有返回值,即对话框中输入的字符型数据。 消息框由消息框由4个部分组成:标题、提示信息、图标、命令按钮。个部分组成:标题、提示信息、图标、命令按钮。:MsgBox( Prompt,Buttons,Title ):MsgBox Prompt,Buttons,Title 各参数的含义如下:各参数的含义如下:在消息框中的提示字符串,最大长度为:在消息框中的提示字符串,最大长度为1 024个字符。个字符。: 消息框标题。消息框标题。:整型参数。该参数可以使用:整型参数。该参数可以使用3组组vb常量常量/ 分别设定:分别设定: +。例如:要显示例如:要显示“确定确定”和和“取消取消”两个按钮,并显示

温馨提示

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

评论

0/150

提交评论