版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、9.1.1 面向对象编程 程序设计语言主要分为面向对象和面向过程两大类,而VBA就是一种面向对象的程序设计语言,对象是Visual Basic程序设计语言的核心,而Access更是基于对象的,对象在数据(shj)库编程中无处不在:窗体、报表、数据(shj)页甚至数据(shj)库本身,都是一种对象。 在Access中,常用对象有23个,它们之间多为树形关系,根据它们的相对关系,可分为根对象和非根对象两大类,其介绍如下。 第1页/共77页第一页,共78页。第2页/共77页第二页,共78页。第3页/共77页第三页,共78页。 在VBA中,对象是封装数据和相应代码的客体(kt),是代码和数据的结合,使
2、用对象可更方便地管理数据和代码。对象具有属性、方法和事件。第4页/共77页第四页,共78页。 1属性 属性是对象的一个特征,它定义了对象的大小、颜色等特征。根据对象的类别不同,其属性也有所不同,而同一(tngy)对象的不同实例属性构成也可能有所不同。我们可以通过修改对象的属性值来改变对性的特征。第5页/共77页第五页,共78页。 2方法 方法是对象能够执行的一个操作(cozu),是与对象相关联的过程和函数。不同的对象拥有不同的方法集合。例如窗体具有GoToPage方法,而其他对象则不具备此方法。第6页/共77页第六页,共78页。 3事件 Access事件是指操作Access的某个数据对象时发生
3、的特定情况,是对象可以识别的动作。可以通过两种方式处理事件响应:一是使用宏对象来设置事件属性(shxng),二是为某个事件编写VBA代码完成动作,这样的代码称为事件过程。 在Access中,事件可分为焦点、鼠标、键盘、窗体、打印、数据、筛选和系统环境事件八大类。第7页/共77页第七页,共78页。 Access为每个事件都定义(dngy)了一个相对应的属性,属性名为“On”+事件名。如GotFocus的属性名为OnGotFocus。每个对象的所有事件属性在对象属性对话框的“事件”选项卡中均能找到,为事件属性指定值即为该事件定义(dngy)了相应的响应操作。在Access中,事件的响应分为两种类型
4、:宏响应和事件响应。第8页/共77页第八页,共78页。9.1.2 VBA简介(jin ji) VBA(Visual Basic for application)是Access的开发语言,其语法与Visual Basic编程语言相互间融,通过它可以像编写VB语言一样来编写VBA程序。概括地说,VBA有以下一些特点: 1操作简单 Access为VBA提供了一个典型的Winows风格的集成(j chn)开发环境VBE,通过它上面的菜单、工具和各种子窗口,用户可以方便地编译、调试和运行程序。 2面向对象 VBA是面向对象的,这是它也传统编程语言的重要区别。 3事件驱动 VBA用事件驱动程序,即当某个控
5、件或对象相关的事件发生时,会自动启动相应得程序。第9页/共77页第九页,共78页。9.1.3 VBA编程环境(hunjng) Access所提供的VBA开发界面( jimin)成为VBE(Visual Basic Editor,VB编辑器),它为VBA程序的开发提供了完整的开发和调试工具。第10页/共77页第十页,共78页。 1进入VBE 由于Access模块(m kui)分为类模块(m kui)和标准模块(m kui)(详见9.2.1),进入VBE的方式也有所不同。 对于类模块(m kui)有两种方式: (1)单击属性窗体的“事件”选项卡,选中某个事件并将其属性设置其为“事件过程”,再单击属
6、性栏右侧的“.”按钮,即可进入。第11页/共77页第十一页,共78页。 (2)在属性窗体的“事件”选项卡下,直接单击时间(shjin)属性栏右侧的“.”按钮,打开如图9-2所示的“选择生成器”对话框,选择“代码生成器”,单击确定即可进入。第12页/共77页第十二页,共78页。 对于(duy)标准模块,有三种进入方式: (1)模块已经存在时,在数据库的“模块”窗口下,双击已存在的模块对象即可进入。 (2)新建模块时,在数据库的“模块”窗口下,单击工作栏上的“新建”按钮即可进入。 (3)在数据库对象窗体中,单击“工具”菜单中的“宏”级联菜单的“Visal Basic编辑器”选项即可进入。第13页/
7、共77页第十三页,共78页。 2VBE窗口 VBE窗口可分为标准工具栏、工程窗口、属性(shxng)窗口和代码窗口4部分,如图9-3所示。第14页/共77页第十四页,共78页。 另外,还有对象窗口、对象浏览器、立即窗口、本地(bnd)窗口和监视窗口等,可以通过“视图”菜单的相应选项选择显示。第15页/共77页第十五页,共78页。 1标准工具栏 标准工具栏中包括创建模块时常用的命令按钮,可通过选中或撤消“视图”菜单(ci dn)中“工具栏”菜单(ci dn)中的“标准”按钮来确定显示还是隐藏标准工具栏。标准工具栏及其上按钮如图9-4所示。第16页/共77页第十六页,共78页。 2工程窗口 工程窗
8、口又叫工程资源管理器窗口,用于显示(xinsh)应用程序中用到的模块文件列表。通过它可以控制代码窗口、对象窗口以及对象文件夹的显示(xinsh)。 双击工程窗口上的模块或类,相应的代码就会在代码窗口中显示(xinsh)出来。第17页/共77页第十七页,共78页。 3属性窗口 用于显示所选对象的属性,可“按字母序”和“按分类序”查看并编辑这些对象的属性,这种修改对象属性的方法属于“静态”设置(shzh)方法。还可以在代码窗口中使用VBA代码编辑对象的属性,这种方法属于“动态”设置(shzh)方法。第18页/共77页第十八页,共78页。 4代码窗口 用于输入和编辑VBA代码。用户可以打开多个代码窗
9、口用来查看各个模块(m kui)的代码。在代码窗口中,关键字和普通代码的颜色是不同的,可以很容易地区分。 第19页/共77页第十九页,共78页。9.2 模块(m kui)概述 模块以VBA语言(yyn)为基础,由声明和过程两部分组成。第20页/共77页第二十页,共78页。9.2.1 模块(m kui)的分类 Access 2003有两个模块类型:类模块和标准模块。 1类模块 类模块是与某一特定窗体或报表相关联的过程(guchng)集合。它属于Access数据库对象,即新建一个类模块救创建一个新对象。类模块主要包括窗体模块和报表模块和自定义模块,其中窗体模块和报表模块从属于各自的窗体或报表。第2
10、1页/共77页第二十一页,共78页。 2标准模块 标准模块即数据库中的可用函数模块和子程序,只包含(bohn)通用只一些通用过程和常用过程,并不与任何对象相关联,通常用来存放供其他Access数据库对象使用的公共过程。第22页/共77页第二十二页,共78页。 3类模块和标准模块的区别 这两种模块的主要区别在于其存储方式和生命周期不同。 类模块的数据由类实例创建(chungjin),独立于应用程序。标准模块只有一个备份,因此当其中的公共变量发生变化时,其后的程序再读取该变量时,得到的是变量变化后的值。 类模块的作用域是类实例对象的存活期,其中的声明或存在的任何变量或常量的值,都仅在该代码运行时有
11、效。而标准模块的变量在声明为Public时,在工程的任何地方都可见。第23页/共77页第二十三页,共78页。9.1.2 模块(m kui)和过程 模块由若干过程组成。过程是VBA程序代码的容器,是程序中的若干较小的逻辑部件,可分为(fn wi)子程序和函数过程,每种过程都有其独特的功能。过程可以简化程序设计任务,还可以增强或扩展Visual Basic的构件。另外,过程还可用于共享任务或压缩重复任务,如减少频繁运算等。第24页/共77页第二十四页,共78页。 1子过程 子过程是由Sub和End Sub语句(yj)包含起来的VBA语句(yj)其格式如下: Private|Public|Frien
12、d Sub 子过程名(参数列表) Exit Sub End Sub第25页/共77页第二十五页,共78页。 2函数过程 函数过程是由Function和End Function语句包含起来的VBA语句,其格式(g shi)如下: Private|PublicStaticFunction 函数名(参数行)As 数据类型 Exit Function End Function第26页/共77页第二十六页,共78页。9.3 创建(chungjin)模块第27页/共77页第二十七页,共78页。9.3.1 创建(chungjin)新模块 1创建标准模块 打开数据库,单击数据库窗口左边对象列表中的“模块”选项
13、,然后单击工具栏上的“新建按钮”,即“Visual Basic编辑器”,显示模块设计视图并创建空白(kngbi)标准模块,或单击“Visual Basic编辑器”菜单栏中“插入”按钮,在弹出的下拉列表中选择“模块”选项,也会出现一个空白(kngbi)的标准模块,如图9-5所示。此时在代码窗口即可进行编辑。第28页/共77页第二十八页,共78页。第29页/共77页第二十九页,共78页。 2创建类模块 类模块可根据与窗体、报表的相关性分为与窗体报表相关的类模块和与窗体报表不相关的类模块。 创建与窗体或报表相关的类模块过程如下: 双击工程窗口中的窗体名称(mngchng),然后在弹出的新建模块代码窗
14、口中输入代码即可,如图9-6所示。第30页/共77页第三十页,共78页。第31页/共77页第三十一页,共78页。 创建与窗体或报表不相关的类模块步骤如下: 单击“数据库”窗口或“Visual Basic编辑器”的菜单栏上“插入”,在弹出下拉列表中选择“类模块”,即可在“Visual Basic编辑器”中看到一个空白的类模块。将所需的声明或过程添加到类模块设计视图中,进行保存即可。 设计的类模块可以作为新类型来创建用户自定对象,类中定义的变量为对象的属性,子过程和函数则将成为(chngwi)对象的方法。可以通过对象来引用其属性和方法。第32页/共77页第三十二页,共78页。9.3.2 将宏转换(
15、zhunhun)为模块 将窗体或报表(bobio)上的宏转换为VBA代码的方法如下: (1)使用“设计”视图的模式打开窗体或报表(bobio)。 (2)单击菜单栏上的“工具”按钮,在弹出下拉列表中选择“宏”命令,然后选择“将窗体(报表(bobio))的宏转换为Visual Basic代码”。 (3)在弹出的“转换宏”对话框中,选择所需项,单击“转换”按钮即可。第33页/共77页第三十三页,共78页。 将全局宏转换为VBA代码的方法如下: (1)在“数据库”窗口中,单击左侧对象列表中的“宏”对象按钮,在宏对象列表框中选择(xunz)要转换的宏名。 (2)执行菜单命令“文件”“另存为”,然后在“另
16、存为”对话框中输入保存的文件名,在“保存类型”中选择(xunz)“模块”,结束单击“确定”。 (3)在弹出的“转换宏”对话框中,选择(xunz)所需选项,单击“转换”按钮。第34页/共77页第三十四页,共78页。9.4 VBA编程基础(jch) VBA是Visual Basic语言的一个子集,集成了整个Office产品(chnpn)套件中的开发语言和开发环境,是Office产品(chnpn)系列中的重要组成部分。 第35页/共77页第三十五页,共78页。9.4.1 数据类型 在创建(chungjin)表对象的时候,我们已经接触过数据类型了。数据类型实际上就是指具有相同特征数据对象的集合,包括相
17、同的取值集合和可对其实行的操作。VBA提供了丰富的数据类型,常用数据类型如表9-2所示。第36页/共77页第三十六页,共78页。第37页/共77页第三十七页,共78页。第38页/共77页第三十八页,共78页。第39页/共77页第三十九页,共78页。9.4.2 常量(chngling) VBA的常量包括数值常量、字符(z f)常量、符号常量、固有常量和系统定义常量五种。 1数值常量 数值常量即我们常说的常数,相当于数据类型中的整型、小数型和浮点型。 2字符(z f)常量 字符(z f)常量是由字符(z f)串定界符双引号(”)括起来的一串字符(z f)。 第40页/共77页第四十页,共78页。
18、3符号常量 对于程序中经常出现以及难以记忆的数值,可以表示为符号常量,以便增加(zngji)程序的可读性和可维护性。一般使用Const语句来声明一个符号常量,其格式如下: Const 常量名As 类型名表达式第41页/共77页第四十一页,共78页。 4固有常量 固有常量是Access或引用库的一部分,代表固定系统值所有固有常量均可在宏或VBA代码中使用。 固有常量的类型有:操作常量、ADO常量、DAO常量、事件过程常量、键盘代码常量、其他类型常量、RunCommand方法常量、安全性常量、VBA常量和VarType函数常量等。通常,固有常量通过前两个字母来指明(zhmng)定义该常量的对象库。
19、来自Microsoft Access库的常量以“ac”开头,来自ActiveX Data Objects(ADO)库的常量以“ad”开头,而来自VB库的常量以“vb”开头。第42页/共77页第四十二页,共78页。 5系统(xtng)常量 Access和VBA有3个系统(xtng)常量:True、False和Null。True和False是系统(xtng)定义的逻辑值,而Null用于指明字段中数据没有或未知值。系统(xtng)常量可以用在所有应用程序中。 注意: 不能借用系统(xtng)常量名称作为其他对象的名称,否则会出现如下错误:“编译错误:缺少:标志符”。第43页/共77页第四十三页,共7
20、8页。9.4.3 变量(binling) 变量是指程序运行过程中,其值可以发生变化的量。变量可以是任意(rny)VBA所支持的数据类型。 变量由变量名标识,其命名规则是:以字母或字符开头,不超过255个字符的字符串。使用变量可以增加程序代码的可读性和可维护性。第44页/共77页第四十四页,共78页。 1对简单变量的声明 对简单变量的声明可以使用类型(lixng)说明符、Dim语句和DefType语句。 1)使用类型(lixng)说明符 使用类型(lixng)说明符声明变量时,将其放在说明变量的最后。 2)使用Dim语句声明 可以使用Dim语句声明一个或多个变量,其格式如下: Dim 变量名 A
21、s 数据类型(lixng) 第45页/共77页第四十五页,共78页。 3)使用DefType语句 DefType语句主要用于模块级通用声明部分,一般用来声明变量或传送给过程的参数的数据类型,或用来声明指定字符(z f)开头的Function或Property Get过程的返回值类型。 DefType语句格式如下: DefType 字母,字母范围第46页/共77页第四十六页,共78页。 2数组 数组是在有规则的结构中包含一种数据类型的一组数据,也称数组元素变量。数组中的元素数据类型相同而且连续可索引,并且每个元素具有唯一的索引号,更改其中(qzhng)的一个元素不影响其他元素。数组元素变量由数组
22、名和数组下标组成,其中(qzhng)数组名标志数组元素变量位于同一个数组,下标为索引号,用于标志同一数组中不同的数组元素。 第47页/共77页第四十七页,共78页。9.4.4 表达式 表达式是由关键字、运算符、常量、变量、函数、字段名、控件和属性等组合而成的,用来执行运算、操作字符或测试数据。 在Access中,表达式无处不再,大体可分为5种形式(xngsh):算术表达式、字符串表达式、关系表达式、布尔表达式和对象运算表达式。第48页/共77页第四十八页,共78页。 1算术表达式 算术表达式也称数值表达式或数学表达式,是由算术运算符连接数值型常量(chngling)、变量、函数以及各种对象属性
23、而形成的运算式。 第49页/共77页第四十九页,共78页。 将Access种的算术运算符按其优先顺序(shnx)由高到低排列如表9-5所示。第50页/共77页第五十页,共78页。 2字符串表达式 字符串表达式由字符串运算符连接(linji)而成,用于完成字符串的连接(linji)运算。字符串运算符又称字符串连接(linji)运算符,主要包括3种,如表9-6所示。第51页/共77页第五十一页,共78页。第52页/共77页第五十二页,共78页。 3关系表达式 关系表达式是由关系运算符组成的表达式,其结果是一个逻辑值,即真(True)或假(False)。关系运算符又称比较运算符或条件运算符,可用于任
24、意数据(shj)类型数据(shj)的比较(但运算符两边的操作数据(shj)的数据(shj)类型必须一样)。 比较运算符如表9-7所示 第53页/共77页第五十三页,共78页。第54页/共77页第五十四页,共78页。 4布尔表达式 布尔表达式又称逻辑表达式,是由逻辑运算符连接布尔逻辑类型常量、变量、函数、表达式以及各种( zhn)对象属性组合而成的运算式,根据逻辑运算符两边的逻辑值进行运算。其返回值为逻辑值,主要用于条件判断。 按优先级由高到低的顺序排列,逻辑运算符如表9-8所示。第55页/共77页第五十五页,共78页。第56页/共77页第五十六页,共78页。 5对象表达式 对象表达式即引用对象
25、或对象属性的表达式,其运算符主要(zhyo)有两种:“!”和“.”,其介绍如表9-10所示。第57页/共77页第五十七页,共78页。9.5 VBA程序流程控制(kngzh)第58页/共77页第五十八页,共78页。9.5.1 程序(chngx)书写规范 1语句书写规则 (1)源程序不分大小写,英文字母的大小写是等价的(字符串除外)。但是为了提高程序的可读性,VBA编译器对不同(b tn)的程序部分都有默认的书写规则,当程序书写不符合这些规则时,编译器会自动进行转换。例如,关键字默认首字母大写,其他字母小写。 (2)通常一个语句写在一行,但一行最多允许255个字符。当语句较长,一行写不下时,可以用
26、续行符“_”将语句连续写在下一行。 (3)如果一条语句输入完成,按回车后该行代码呈红色,说明该行语句有错误,应及时修改。第59页/共77页第五十九页,共78页。 2添加注释 注释是为了提高程序的可读性而在程序需要解释的地方加入的标志性说明语句。一个好的程序一般都有注释语句。 在VBA中,注释语句一般用单引号或Rem关键字作为起始符。单引号可以在VBA代码行的任何位置,此时VBA编译器会将单引号后面同一行的所有(suyu)内容看成注释内容。使用Rem关键字引导注释语句时,Rem关键字必须是注释语句的第一个词,即注释必须单独成行。第60页/共77页第六十页,共78页。9.5.2 VBA程序结构类型
27、(lixng) 1顺序结构 顺序结构是结构化程序设计中最常见的程序结构,它按代码从上到下顺序依次执行关键字控制下的代码。 另外,在顺序结构中可使用WithEnd With对同一对象(duxing)执行一系列语句,这些语句按顺序执行,并可省略对象(duxing)名。该关键字的语法格式如下所示。 With 对象(duxing)名 Commands End With第61页/共77页第六十一页,共78页。 2选择结构 选择结构的程序根据条件(tiojin)式的值来选择程序运行的语句。主要有以下一些结构:第62页/共77页第六十二页,共78页。 1)If语句(yj) If 条件表达式1 Then 条件
28、表达式1为真时要执行的语句(yj) Else If 条件表达式2 Then 条件表达式1为假,并且条件表达式2为真时要执行的语句(yj) End If语句(yj)第63页/共77页第六十三页,共78页。 2)Select Case语句 Select Case语句是多分支选择语句,即可根据测试条件中表达式的值来决定执行几组语句中的依据(yj)。使用格式如下: Select Case 表达式 Case 表达式1 表达式的值与表达式1的值相等时执行的语句 Case 表达式2 表达式的值介于表达式2和表达式3之间时执行的语句 Case Else 上述情况均不符合时执行的语句 End Select第64
29、页/共77页第六十四页,共78页。 3)函数 除了以上两种方式外,VBA还提供了3个函数完成相应的操作。 IIf函数 IIf函数的调用格式(g shi)如下: IIf(条件式,表达式1,表达式2) 它的跳转由最左边的“条件式”控制,当条件式为真(True)时,函数返回表达式1的值;当条件式为假(False)时,函数返回表达式2的值。第65页/共77页第六十五页,共78页。 Switch函数 Switch函数的调用(dioyng)格式是: Switch(条件式1,表达式1,条件式2,表达式2,条件式n,表达式n) 该函数根据条件式1至条件式n从左到右来决定函数返回值,表达式在第一个相关的条件式为True时作为函数返回值返回。条件式和表达式必须成对出现,否则会出错。第66页/共77页第六十六页,共78页。 Chosse函数 Chosse函数的调用格式(g shi)如下: Chosse(索引式,选项1,选项2,选项3 ,选项n)第67页/共77页第六十七页,共78页。 3循环结构 循环结构使得若干语句(yj)重复执行若干次,实现重复性操作。在程序设计中,经常需要用到循环控制。 第68页/共77页第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川大学华西天府医院实验医学科招聘2人笔试模拟试题及答案解析
- 2026贵州铜仁市第二人民医院收费室见习生招募1人笔试备考试题及答案解析
- 2026云南玉溪红塔区计划生育协会公益性岗位招聘1人笔试模拟试题及答案解析
- 2026山东菏泽黄河骨科医院招聘1人笔试参考题库及答案解析
- 2025年10月扬州市江都区教育局直属高级中学公开招聘教师15人(公共基础知识)综合能力测试题附答案
- 2025年山东能源集团兖矿新疆能化有限公司技能操作岗位人员招考前自测高频考点模拟试题附答案
- 2025年秋季江苏连云港市赣榆区区属国企赴高校招聘高层次人才考前自测高频考点模拟试题附答案
- 2025年11月广东广州市天河第二实验幼儿园招聘编外聘用制教辅人员1人(公共基础知识)测试题附答案
- AI赋能心灵:心理健康领域的应用探索与实践
- 2026河南许昌市魏都区北大社区卫生服务中心招聘1人笔试参考题库及答案解析
- 急腹症的识别与护理
- 初二历史上册期末真题试卷附答案解析
- 八年级上册语文期末重难点文言文字词梳理
- 药品零售监管培训课件
- 教育培训机构招生方案设计与落地执行
- 功血中医护理方案
- 2025年工会协理员考试题及答案
- 中建商务经理述职报
- 2025年安徽国风新材料股份有限公司秋季招聘37人笔试历年备考题库附带答案详解试卷2套
- 2025年国家开放大学《刑事诉讼法》期末考试复习题库及答案解析
- 2025年人教版三年级上册道德与法治全册知识点(新教材)
评论
0/150
提交评论