ACCESS实例教程(第8章vba).ppt
《ACCESS实例教程(第8章vba).ppt》由会员分享,可在线阅读,更多相关《ACCESS实例教程(第8章vba).ppt(149页珍藏版)》请在三一办公上搜索。
1、ACCESS实例教程,模块的操作(第8章),1.模块的基本概念2.VBA程序设计基础3.VBA函数的使用4.模块的建立与使用5.过程与参数传递,本章要点:,VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言;其语法结构与Visual Basic编程语言互相兼容;VB是微软公司推出的可视化BASIC语言,是一种编程简单、功能强大的面向对象开发工具,我们可以像编写VB程序那样来编写VBA程序。采用的是面向对象的编程机制和可视化的编程环境。用VBA语言编写的代码,将保存在Access中的一个模块里,并通过类似在窗体中激发宏的操作
2、那样来启动这个模块,从而实现相应的功能。,VBA简介,注意:VB语言开发系统是独立运行的开发环境,它创建的应用程序可以独立运行在Windows平台上;而VBA则不同,其编程环境和VBA程序都必须依赖Office应用程序(如Access、Word、Excel等)。,VBA简介,VBA编程环境在Access 2003提供的“模块”数据库对象中,使用VBA程序设计语言,在不同的模块中实现VBA代码设计,可以解决实际开发中的复杂应用。要用Access 2003来完成一个实际的数据库应用系统,就应该掌握VBA。,8.1 认识模块对象,模块是由声明、语句和过程组成的集合,以VBA(Visual Basic
3、 for Application)语言编写,作为一个已命名的单元存储在一起。模块有2种类型:类模块和标准模块。使用模块可以在实际开发中实现较为复杂的功能。,(1)模块:模块由一个或多个过程组成,每个过程实现一个或几个功能。模块的执行通过特定事件激发相应的事件过程实现。(2)事件过程:事件过程是一组代码,用于响应窗体事件或报表事件。(3)类模块:类模块是包含代码和数据的集合,可以看作是没有物理表示的控件,总是与某一特定的窗体或报表相关联。窗体模块和报表模块都属于类模块。(4)标准模块:标准模块是代码的集合,包含的过程不与任何其他对象相关联,是数据库对象使用的公共过程,保存在数据库窗口中。,8.1
4、.1 模块的基本概念,8.1.2 启动Access的编程界面,Access的编程界面称为VBE(Visual Basic Editor),是Microsoft Office所有组件公用的程序编辑系统。方法1:在窗体或报表设计视图中选控件单击标准工具栏的“生成器”按钮在“选择生成器”对话框中选择“代码生成器”。方法2:右击窗体或报表设计视图中控件快捷菜单中选“事件生成器”“选择生成器”对话框中选择代码生成器”。,8.1.3 VBE窗口VBE窗口由工具栏、工程资源管理器窗口、属性窗口、代码窗口和立即窗口组成。,工程窗口选择对象,属性窗口选择对象的属性,代码窗口,选择事件,(1)工程窗口 也称工程资
5、源管理器,一个数据库应用系统就是一个工程,系统中的所有类模块及标准模块对象都在该窗口中显示出来。,类模块,标准模块,(2)属性窗口 属性窗口列出了选定对象的属性,可以在设计时查看、改变这些属性。当选取了多个控件时,属性窗口会列出所有控件的共同属性。,(3)代码窗口 代码窗口用来显示、编写以及修改VBA 代码。实际操作中,可以打开多个代码窗口,查看不同窗体或模块中的代码,代码窗口之间可以进行复制和粘贴。,对象框,过程框,编写模块对象的代码在代码窗口进行。(1)窗口顶部有2个组合框,左边对象框显示所有对象名称,右边过程框显示当前对象能识别的所有事件名称。选定一个对象,再选定一个事件,系统会自动生成
6、相应事件过程的起始行与结束行,只须在两行中间添加过程代码即可。“通用”过程可以被所有控件调用。某控件的过程只在关联事件中有效。(2)窗口中央代码区有声明区和过程区,声明区中声明模块使用的变量,过程区显示一个或多个过程,之间用一条灰线分隔。(3)窗口底部有2个按钮,单击“过程视图”按钮,只显示当前过程。单击右边“完整的模块视图”按钮,窗口显示全部过程。,8.1.4 标准工具栏,例8-1:创建一个类模块。1、打开数据库;2、新创建窗体名称为w1;3、在窗体中添加命令按钮名字为c1;4、选择c1打开属性【单击】打开【代码生成器】;,Private Sub Command0_Click()DoCmd.
7、CloseEnd Sub,DoCmd为对象用来调用内置的方法,Close关闭窗体,例8-1:创建一个类模块。,对象框,过程框,例8-2:创建一个标准模块。,1、打开数据库;2、选择【模块】对象 单击【新建】按钮;3、在VBE中编辑如下程序;,过程名为aa,x,y为整型变量,z为整型变量,存放x和y的乘积。显示信息框,例8-2:创建一个标准模块。,4、保存模块名为mj;5、新创建窗体名称为w2;6、在窗体中添加两个文本框名称分别为t1,t2;7、添加命令按钮名字为c1;8、选择c1打开属性【单击】打开【代码生成器】;,调用过程aa,并将文本框的值传递给aa,8.1.7 使用提示与帮助,在代码窗口
8、输入代码时,系统会自动显示提示信息,包括关键字列表、属性列表、过程参数列表等,在列表中选取一项后双击鼠标,所选值会自动添加到当前光标处。,8.2 VBA程序设计基础,8.2.1 面向对象的程序设计的基本概念,(1)对象 在自然界中,一个对象就是一个实体,如一辆汽车就是一个对象。在面向对象的程序设计中,对象代表应用程序中的元素,如表、窗体、按钮等。(2)属性 属性是对象的特征。如汽车有颜色和型号属性,按钮有标题和名称属性。对象的类别不同,属性会有所不同。同类别对象的不同实例,属性也有差异。例如,同是命令按钮,名称属性不允许相同。,(3)事件 事件是对象能够识别的动作。如按钮可以识别单击事件、双击
9、事件等。在类模块每一个过程的开始行,都显示对象名和事件名。如:Private Sub c1_Click()。(4)方法 方法是对象能够执行的动作,决定了对象能完成什么事。不同对象有不同的方法。如close方法能关闭一个窗体。,(5)集合 集合由许多与对象有关的键和值组成,其中的键和值是配对的。如一本书是一个对象,书的页码是键,页码对应的内容是值。所有配对的页码和内容组成了书对象的集合。(6)过程 过程是由代码组成的单元,包含一系列计算语句和执行语句。每一个过程都有名字,过程名不能与所在模块的模块名相同。过程有两种类型:sub过程(无返回值),function过程(有返回值)。,例8-3:创建一
10、个类模块,动态设置控件属性,(1)在窗体ct中创建一个文本框名称为t1。(2)在窗体ct中创建一个标签名称为b1标题为“欢迎你!”。(3)在窗体ct中创建三个命令按钮名称分别为c1、c2、c3标题分别为“红色”、“绿色”、“蓝色”。,(4)设置各按钮的前景色,在属性窗口可查看颜色值。,(5)c1的click事件代码:t1.BackColor=255 b1.ForeColor=255,(6)c2的click事件代码:t1.BackColor=33792 b1.ForeColor=33792(7)c3的click事件代码:t1.BackColor=16711680 b1.ForeColor=167
11、11680,执行结果:,Docmd是Access的一个特殊对象,用来调用内置方法,在程序中实现对Access的操作,诸如打开窗口、关闭窗体、打开报表、关闭报表等。DoCmd 对象的大多数方法都有参数,有些参数是必需的,有些则是可选的。若省略可选参数,参数将采用默认值。,8.2.2 Docmd对象,(1)用DoCmd 对象打开窗体 格式:DoCmd.OpenForm 窗体名 功能:用默认形式打开指定窗体。例如:DoCmd.OpenForm 文本框练习,(2)用DoCmd 对象关闭窗体 格式1:DoCmd.Close acForm,窗体名 功能:关闭指定窗体。例如:DoCmd.Close acFo
12、rm,文本框练习 格式2:DoCmd.Close 功能:关闭当前窗体。(3)用DoCmd 对象打开报表 格式:DoCmd.OpenReport 报表名,acViewPreview 功能:用预览形式打开指定报表。例如:DoCmd.OpenReport 工资报表,acViewPreview,(4)用DoCmd 对象关闭报表 格式1:DoCmd.Close acReport,报表名 功能:关闭指定报表。例如:DoCmd.Close acReport,工资报表 格式2:DoCmd.Close 功能:关闭当前报表。(5)用DoCmd 对象运行宏 格式:DoCmd.RunMacro 宏名 功能:运行指定宏
13、。例如:DoCmd.RunMacro 宏1(6)用DoCmd 对象退出Access。格式:DoCmd.Quit 功能:关闭所有Access对象和Access本身。,(1)在窗体中建立5个按钮名称分别为c1、c2、c3、c4、c5标题分别为“打开文本框练习窗体”、“关闭文本框练习窗体”、“打开工资报表”、“关闭工资报表”、“退出Access”。,例8-4:使用DoCmd对象,(2)c1代码:DoCmd.OpenForm 文本框练习(3)c2代码:DoCmd.Close acForm,文本框练习(4)c3代码:DoCmd.OpenReport 工资报表,acViewPreview(5)c4代码:D
14、oCmd.Close acReport,工资报表(6)c5代码:DoCmd.Quit,(7)转到窗体视图单击不同按钮执行不同操作。,8.2.3 数据类型与数据类型转换,VBA中的基本数据类型VBA在数据类型和定义方式上均继承了传统的Basic语言的特点。Access 数据表中的字段使用的数据(OLE对象和备注字段数据类型除外)在VBA中都有对应的类型。在VBA中,数据类型用来决定变量可以保存何种数据。VBA支持多种数据类型,为用户编程提供了方便。,8.2.3 数据类型与数据类型转换,(1)标准数据类型,1.数值型数据类型包括:Byte、Integer、Long、Single、Double和Cu
15、rrency。(1)Byte 以一个字节的无符号二进制数存储,取值范围为0255。(2)整数(integer和Long)整数是不带小数点和指数符号的数,在机器内以二进制补码形式表示。整型(Integer)长整型(Long)例如:345、-345、345%均表示整型数。345&、-345&均表示长整型数。,(3)浮点数(single和Double)浮点数也称实型数或实数,是带有小数部分的数值。它由三部分组成:符号、指数和尾数。单精度型(Single):以4个字节存储,符号1位,指数8位,尾数23位。用E来表示指数。双精度型(Double):以8个字节存储,符号1位,指数11位,尾数52位。用D来
16、表示指数。例如:345!、-345.12、0.345E+3 均表示单精度浮点数,345#、-345.12#、0.345E+3#、0.345D+3 均表示双精度浮点数。,(4)货币型(Currency)货币数据类型是为表示钱款而设置的。该类型数据以8个字节存储,精确到小数点后四位,小数点前有15位,小数点后4位以后的数字将被舍去。例如:345、345.12 均表示货币型数据。2.字符型数据类型字符串是一个字符序列,由ASCII字符组成,包括标准的ASCII字符和扩展ASCII字符及汉字等例如:“345”、“Access 程序设计”等均表示字符型数据。表示空字符串,表示有一个空格的字符。,3.日期
17、型数据类型日期型数据用来表示日期信息,按8字节的浮点数来存储,表示范围:日期范围为1000年1月1日到9999年12月31日,而时间范围为0:00:0023:59:59。日期型数据有两种表示方法:一种是在字面上可被认为日期和时间的字符,表示格式为mm/dd/yyyy或mm-dd-yyyy。日期文字须以数字符号(#)括起来。例如,#April 1,2002#10-11-2005#2005-10-11 10:30:00 PM#。,3.日期型数据类型,另一种是以数字序列表示,当其他的数值类型要转换为 Date 型时,小数点左边的数字代表日期,而小数点右边的数字代表时间,0为午夜,0.5为中午12点,
18、负数代表的是1899年12月31日之前的日期和时间。,4.变体数据类型变体类型数据(Variant)是一种可变的数据类型,可以表示任何值,包括数值、字符串及日期等。变体类型数据可以包含Empty、Error、Nothing和Null特殊值。在使用时,可以使用VarType与TypeName函数来决定如何处理Variant中的数据。VBA规定,如果没有使用Dim As 数据类型显式声明或使用符号来定义变量的数据类型,系统默认为变体类型(Variant)。,5.逻辑数据类型逻辑数据类型(Boolean)用于逻辑判断,亦称布尔型。其值为逻辑值,用两个字节存储,它只有True(真)或False(假)两
19、个值。当逻辑数据转换成整型数据类型时,True转换为-1,False转换为0。当将其他类型数据换成逻辑数据时,非0数据转换为True,0转换为False。6.对象数据类型 对象型数据(Object)用来表示图形、OLE对象或其他对象,用4个字节存储,对象变量可引用应用程序中的对象。,(2)数据类型转换函数,例8-5:在立即窗口中计算函数值(1)在VBE界面“视图”菜单“立即窗口”,显示立即窗口。(2)输入表达式x=“true”回车输入表达式y=“false”回车输入表达式?x+y回车,显示结果为:truefalse。(3)输入表达式?cbool(x)+cbool(y)回车,显示结果为:-1。说
20、明:每行写完后必须回车才能生效。问号与print语句相同,在立即窗口显示计算结果。,7.用户定义的数据类型 创建自定义的数据类型的语句是Type,用户自定义类型可包含一个或多个基本数据类型的数据元素、数组或一个先前定义的用户自定义类型。Type语句的基本格式:Private|Public Type 数据类型名域名1 As 数据类型域名2 As 数据类型End Type,定义格式:type 数据类型名 域名1 as 数据类型 域名2 as 数据类型 end type例如:type student xh as string*6 xm as string xb as string*1 nl as i
21、nteger end type,8.2.2 常量 常量是指在程序运行的过程中,其值不能被改变的量。常量的使用可以增加代码的可读性,并且使代码更加容易维护。在Access 2003中,常量的类型有4种:直接常量符号常量固有常量系统定义常量(1)直接常量 如:10,20%(整型),123.0,345#(双精度),345.12(货币型),“AB”,“VBA程序设计”等,8.2.2 常量(2)符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VBA中使用关键字Const 声明符号常量。其格式如下:Const 常量名 常
22、数表达式 如:Const PI#=3.1415926,(2)符号常量,说明:符号常量名一般用大写字母,以便与变量名区分。如果符号常量定义在模块声明区,所有模块的过程都能使用该变量,通常在前面加上Global或Public。如:Public Const PI=3.14如果符号常量定义在事件的过程中,该符号常量只在本过程中可用。符号常量定义时不用指明数据类型。,(3)固有常量(内置常量)固有常量以两个前缀字母指明了定义该常量的对象库。主要用来作为DoCmd对象的参数。这些内部常量名不能作为用户自定义的变量名或符号常量来自Access库的常量以“ac”开头;来自ADO库的常量以“ad”开头而来自Vi
23、sual Basic库的常量则以“vb”开头。例如:acForm、adAddNew、vbCurrency(4)系统定义常量 指VBA系统预先定义好的,用户可以直接引用的量。例如:True、False和Null。系统定义常量可以在应用程序中使用。,8.2.3 变量变量是指在程序运行过程中值会发生变化的数据。变量的三要素:变量名、变量类型、变量的值。变量的命名规则。对变量进行声明可以使用类型说明符号、Dim语句和DefType语句。(1)变量命名规则由字母、数字、下划线组成,用英文字母开头。不能包含空格以及除下划线之外的标点符号。不能用VBA的关键字(如:dim)和保留字(如:str)。字符个数不
24、得多于255个。变量名不区分大小写。,说明:常量名的命名规则与变量名的命名规则相同,8.2.3 变量(2)隐含型变量 隐式声明在使用一个变量之前并不必先声明这个变量。这个变量只在当前过程中有效,类型为变体数据类型。用户可以通过将一个值指定给变量名的方式来建立隐含型变量。例如:NewVar=1234。,格式:dim 变量名 as 类型说明:如果不用as定义类型,则变量为变体类型。变体类型变量比其他类型变量占用更多的内存资源。可以用dim同时定义多个变量,变量之间用西文逗号分隔,每一个变量都应该用as声明类型。例如:dim a1 as integer,a2 as boolean用dim定义的变量是
25、局部变量,会按照数据类型自动设置默认值。,(3)用dim语句声明变量,如:Dim name as string Dim x as integer,y as integer Dim i说明:第二条语句同时声明了两个变量;i为变体类型,可以储存任何类型数据。变量赋值Name=张小山X=1改变变量的值X=x+1说明:将x的值增加1,在变量名后加VBA的类型说明符,隐式的声明了变量类型。例如:b1%=125 变量b1是整型,值是125。既没有显式声明,也没有加类型说明符,隐式声明了变体型变量。例如:c1=125 变量c1是变体型,值是125。隐含型变量,(4)用类型说明符声明变量类型,下面是一个简单的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACCESS 实例教程 vba
链接地址:https://www.31ppt.com/p-2975539.html