Access数据库实用教程模块和VBA程序设计实用教案_第1页
Access数据库实用教程模块和VBA程序设计实用教案_第2页
Access数据库实用教程模块和VBA程序设计实用教案_第3页
Access数据库实用教程模块和VBA程序设计实用教案_第4页
Access数据库实用教程模块和VBA程序设计实用教案_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1、9.1 VBA程序设计(chn x sh j)初步 在Office中包含有Visual Basic for Application(VBA),它是Visual Basic的语言的一个子集,与Visual Basic具有(jyu)相同的语言的功能。 第1页/共78页第一页,共79页。9.1.1 面向对象编程 程序设计语言主要分为面向对象和面向过程两大类,而VBA就是(jish)一种面向对象的程序设计语言,对象是Visual Basic程序设计语言的核心,而Access更是基于对象的,对象在数据库编程中无处不在:窗体、报表、数据页甚至数据库本身,都是一种对象。 在Access中,常用对象有23个,

2、它们之间多为树形关系,根据它们的相对关系,可分为根对象和非根对象两大类,其介绍如下。 第2页/共78页第二页,共79页。第3页/共78页第三页,共79页。第4页/共78页第四页,共79页。 在VBA中,对象是封装数据和相应(xingyng)代码的客体,是代码和数据的结合,使用对象可更方便地管理数据和代码。对象具有属性、方法和事件。第5页/共78页第五页,共79页。 1属性 属性是对象的一个特征,它定义了对象的大小、颜色等特征。根据对象的类别(libi)不同,其属性也有所不同,而同一对象的不同实例属性构成也可能有所不同。我们可以通过修改对象的属性值来改变对性的特征。第6页/共78页第六页,共79

3、页。 2方法 方法是对象能够执行的一个操作,是与对象相关联的过程和函数。不同的对象拥有不同的方法集合(jh)。例如窗体具有GoToPage方法,而其他对象则不具备此方法。第7页/共78页第七页,共79页。 3事件 Access事件是指操作Access的某个数据对象时发生的特定情况,是对象可以识别的动作。可以通过两种方式处理事件响应:一是使用(shyng)宏对象来设置事件属性,二是为某个事件编写VBA代码完成动作,这样的代码称为事件过程。 在Access中,事件可分为焦点、鼠标、键盘、窗体、打印、数据、筛选和系统环境事件八大类。第8页/共78页第八页,共79页。 Access为每个事件都定义了一

4、个相对(xingdu)应的属性,属性名为“On”+事件名。如GotFocus的属性名为OnGotFocus。每个对象的所有事件属性在对象属性对话框的“事件”选项卡中均能找到,为事件属性指定值即为该事件定义了相应的响应操作。在Access中,事件的响应分为两种类型:宏响应和事件响应。第9页/共78页第九页,共79页。9.1.2 VBA简介(jin ji) VBA(Visual Basic for application)是Access的开发语言,其语法与Visual Basic编程语言相互间融,通过它可以像编写VB语言一样来编写VBA程序。概括地说,VBA有以下一些特点:1操作简单 Access

5、为VBA提供了一个典型的Winows风格的集成开发环境VBE,通过它上面的菜单、工具和各种子窗口,用户(yngh)可以方便地编译、调试和运行程序。2面向对象 VBA是面向对象的,这是它也传统编程语言的重要区别。3事件驱动 VBA用事件驱动程序,即当某个控件或对象相关的事件发生时,会自动启动相应得程序。第10页/共78页第十页,共79页。9.1.3 VBA编程环境(hunjng) Access所提供的VBA开发界面成为(chngwi)VBE(Visual Basic Editor,VB编辑器),它为VBA程序的开发提供了完整的开发和调试工具。第11页/共78页第十一页,共79页。 1进入VBE

6、由于Access模块分为类模块和标准(biozhn)模块(详见9.2.1),进入VBE的方式也有所不同。 对于类模块有两种方式: (1)单击属性窗体的“事件”选项卡,选中某个事件并将其属性设置其为“事件过程”,再单击属性栏右侧的“.”按钮,即可进入。第12页/共78页第十二页,共79页。 (2)在属性窗体的“事件”选项卡下,直接单击时间属性栏右侧(yu c)的“.”按钮,打开如图9-2所示的“选择生成器”对话框,选择“代码生成器”,单击确定即可进入。第13页/共78页第十三页,共79页。 对于标准模块,有三种(sn zhn)进入方式: (1)模块已经存在时,在数据库的“模块”窗口下,双击已存在

7、的模块对象即可进入。 (2)新建模块时,在数据库的“模块”窗口下,单击工作栏上的“新建”按钮即可进入。 (3)在数据库对象窗体中,单击“工具”菜单中的“宏”级联菜单的“Visal Basic编辑器”选项即可进入。第14页/共78页第十四页,共79页。 2VBE窗口(chungku) VBE窗口(chungku)可分为标准工具栏、工程窗口(chungku)、属性窗口(chungku)和代码窗口(chungku)4部分,如图9-3所示。第15页/共78页第十五页,共79页。 另外,还有对象窗口、对象浏览器、立即窗口、本地窗口和监视窗口等,可以通过“视图”菜单的相应选项选择(xunz)显示。第16页

8、/共78页第十六页,共79页。 1标准工具栏 标准工具栏中包括(boku)创建模块时常用的命令按钮,可通过选中或撤消“视图”菜单中“工具栏”菜单中的“标准”按钮来确定显示还是隐藏标准工具栏。标准工具栏及其上按钮如图9-4所示。第17页/共78页第十七页,共79页。 2工程窗口 工程窗口又叫工程资源管理器窗口,用于显示(xinsh)应用程序中用到的模块文件列表。通过它可以控制代码窗口、对象窗口以及对象文件夹的显示(xinsh)。 双击工程窗口上的模块或类,相应的代码就会在代码窗口中显示(xinsh)出来。第18页/共78页第十八页,共79页。 3属性窗口 用于显示所选对象的属性,可“按字母序”和

9、“按分类(fn li)序”查看并编辑这些对象的属性,这种修改对象属性的方法属于“静态”设置方法。还可以在代码窗口中使用VBA代码编辑对象的属性,这种方法属于“动态”设置方法。第19页/共78页第十九页,共79页。 4代码窗口 用于输入和编辑VBA代码。用户可以打开多个代码窗口用来(yn li)查看各个模块的代码。在代码窗口中,关键字和普通代码的颜色是不同的,可以很容易地区分。 第20页/共78页第二十页,共79页。9.2 模块(m kui)概述 模块以VBA语言为基础,由声明和过程两部分(b fen)组成。第21页/共78页第二十一页,共79页。9.2.1 模块(m kui)的分类 Acces

10、s 2003有两个模块类型:类模块和标准模块。 1类模块 类模块是与某一特定窗体或报表相关联的过程集合。它属于Access数据库对象,即新建一个类模块救创建一个新对象。类模块主要(zhyo)包括窗体模块和报表模块和自定义模块,其中窗体模块和报表模块从属于各自的窗体或报表。第22页/共78页第二十二页,共79页。 2标准模块 标准模块即数据库中的可用函数模块和子程序,只包含通用只一些(yxi)通用过程和常用过程,并不与任何对象相关联,通常用来存放供其他Access数据库对象使用的公共过程。第23页/共78页第二十三页,共79页。 3类模块和标准模块的区别 这两种模块的主要区别在于其存储方式和生命

11、周期不同。 类模块的数据由类实例创建,独立于应用程序。标准模块只有一个备份,因此当其中的公共变量(binling)发生变化时,其后的程序再读取该变量(binling)时,得到的是变量(binling)变化后的值。 类模块的作用域是类实例对象的存活期,其中的声明或存在的任何变量(binling)或常量的值,都仅在该代码运行时有效。而标准模块的变量(binling)在声明为Public时,在工程的任何地方都可见。第24页/共78页第二十四页,共79页。9.1.2 模块(m kui)和过程 模块(m kui)由若干过程组成。过程是VBA程序代码的容器,是程序中的若干较小的逻辑部件,可分为子程序和函数

12、过程,每种过程都有其独特的功能。过程可以简化程序设计任务,还可以增强或扩展Visual Basic的构件。另外,过程还可用于共享任务或压缩重复任务,如减少频繁运算等。第25页/共78页第二十五页,共79页。 1子过程 子过程是由Sub和End Sub语句包含(bohn)起来的VBA语句其格式如下: Private|Public|Friend Sub 子过程名(参数列表) Exit Sub End Sub第26页/共78页第二十六页,共79页。 2函数(hnsh)过程 函数(hnsh)过程是由Function和End Function语句包含起来的VBA语句,其格式如下: Private|Pub

13、licStaticFunction 函数(hnsh)名(参数行)As 数据类型 Exit Function End Function第27页/共78页第二十七页,共79页。9.3 创建(chungjin)模块第28页/共78页第二十八页,共79页。9.3.1 创建(chungjin)新模块 1创建标准模块 打开(d ki)数据库,单击数据库窗口左边对象列表中的“模块”选项,然后单击工具栏上的“新建按钮”,即“Visual Basic编辑器”,显示模块设计视图并创建空白标准模块,或单击“Visual Basic编辑器”菜单栏中“插入”按钮,在弹出的下拉列表中选择“模块”选项,也会出现一个空白的标

14、准模块,如图9-5所示。此时在代码窗口即可进行编辑。第29页/共78页第二十九页,共79页。第30页/共78页第三十页,共79页。 2创建(chungjin)类模块 类模块可根据与窗体、报表的相关性分为与窗体报表相关的类模块和与窗体报表不相关的类模块。 创建(chungjin)与窗体或报表相关的类模块过程如下: 双击工程窗口中的窗体名称,然后在弹出的新建模块代码窗口中输入代码即可,如图9-6所示。第31页/共78页第三十一页,共79页。第32页/共78页第三十二页,共79页。 创建与窗体或报表不相关的类模块步骤如下: 单击“数据库”窗口或“Visual Basic编辑器”的菜单栏上“插入”,在

15、弹出下拉列表中选择“类模块”,即可在“Visual Basic编辑器”中看到一个空白的类模块。将所需的声明或过程添加到类模块设计视图中,进行保存即可。 设计的类模块可以(ky)作为新类型来创建用户自定对象,类中定义的变量为对象的属性,子过程和函数则将成为对象的方法。可以(ky)通过对象来引用其属性和方法。第33页/共78页第三十三页,共79页。9.3.2 将宏转换(zhunhun)为模块 将窗体或报表上的宏转换为VBA代码的方法如下: (1)使用“设计”视图的模式(msh)打开窗体或报表。 (2)单击菜单栏上的“工具”按钮,在弹出下拉列表中选择“宏”命令,然后选择“将窗体(报表)的宏转换为Vi

16、sual Basic代码”。 (3)在弹出的“转换宏”对话框中,选择所需项,单击“转换”按钮即可。第34页/共78页第三十四页,共79页。 将全局宏转换为VBA代码的方法如下: (1)在“数据库”窗口中,单击左侧对象列表中的“宏”对象按钮,在宏对象列表框中选择(xunz)要转换的宏名。 (2)执行菜单命令“文件”“另存为”,然后在“另存为”对话框中输入保存的文件名,在“保存类型”中选择(xunz)“模块”,结束单击“确定”。 (3)在弹出的“转换宏”对话框中,选择(xunz)所需选项,单击“转换”按钮。第35页/共78页第三十五页,共79页。9.4 VBA编程基础(jch) VBA是Visua

17、l Basic语言(yyn)的一个子集,集成了整个Office产品套件中的开发语言(yyn)和开发环境,是Office产品系列中的重要组成部分。 第36页/共78页第三十六页,共79页。9.4.1 数据类型 在创建表对象的时候,我们已经接触过数据类型了。数据类型实际上就是指具有相同特征数据对象的集合,包括相同的取值集合和可对其实行的操作。VBA提供(tgng)了丰富的数据类型,常用数据类型如表9-2所示。第37页/共78页第三十七页,共79页。第38页/共78页第三十八页,共79页。第39页/共78页第三十九页,共79页。第40页/共78页第四十页,共79页。9.4.2 常量(chngling

18、) VBA的常量包括数值常量、字符常量、符号常量、固有常量和系统定义(dngy)常量五种。 1数值常量 数值常量即我们常说的常数,相当于数据类型中的整型、小数型和浮点型。 2字符常量 字符常量是由字符串定界符双引号(”)括起来的一串字符。 第41页/共78页第四十一页,共79页。 3符号常量(chngling) 对于程序中经常出现以及难以记忆的数值,可以表示为符号常量(chngling),以便增加程序的可读性和可维护性。一般使用Const语句来声明一个符号常量(chngling),其格式如下: Const 常量(chngling)名As 类型名表达式第42页/共78页第四十二页,共79页。 4

19、固有常量 固有常量是Access或引用库的一部分,代表固定系统值所有固有常量均可在宏或VBA代码中使用。 固有常量的类型有:操作常量、ADO常量、DAO常量、事件过程常量、键盘代码常量、其他类型常量、RunCommand方法常量、安全性常量、VBA常量和VarType函数常量等。通常,固有常量通过前两个字母来指明定义该常量的对象库。来自(li z)Microsoft Access库的常量以“ac”开头,来自(li z)ActiveX Data Objects(ADO)库的常量以“ad”开头,而来自(li z)VB库的常量以“vb”开头。第43页/共78页第四十三页,共79页。 5系统常量 Ac

20、cess和VBA有3个系统常量:True、False和Null。True和False是系统定义的逻辑值,而Null用于指明字段中数据没有或未知值。系统常量可以用在所有应用程序中。 注意: 不能借用系统常量名称作为其他对象(duxing)的名称,否则会出现如下错误:“编译错误:缺少:标志符”。第44页/共78页第四十四页,共79页。9.4.3 变量(binling) 变量(binling)是指程序运行过程中,其值可以发生变化的量。变量(binling)可以是任意VBA所支持的数据类型。 变量(binling)由变量(binling)名标识,其命名规则是:以字母或字符开头,不超过255个字符的字符

21、串。使用变量(binling)可以增加程序代码的可读性和可维护性。第45页/共78页第四十五页,共79页。 1对简单变量(binling)的声明 对简单变量(binling)的声明可以使用类型说明符、Dim语句和DefType语句。 1)使用类型说明符 使用类型说明符声明变量(binling)时,将其放在说明变量(binling)的最后。 2)使用Dim语句声明 可以使用Dim语句声明一个或多个变量(binling),其格式如下: Dim 变量(binling)名 As 数据类型 第46页/共78页第四十六页,共79页。 3)使用DefType语句(yj) DefType语句(yj)主要用于模

22、块级通用声明部分,一般用来声明变量或传送给过程的参数的数据类型,或用来声明指定字符开头的Function或Property Get过程的返回值类型。 DefType语句(yj)格式如下: DefType 字母,字母范围第47页/共78页第四十七页,共79页。 2数组 数组是在有规则的结构中包含一种数据类型的一组数据,也称数组元素变量。数组中的元素数据类型相同而且连续可索引,并且每个元素具有唯一的索引号,更改(gnggi)其中的一个元素不影响其他元素。数组元素变量由数组名和数组下标组成,其中数组名标志数组元素变量位于同一个数组,下标为索引号,用于标志同一数组中不同的数组元素。 第48页/共78页

23、第四十八页,共79页。9.4.4 表达式 表达式是由关键字、运算符、常量、变量、函数、字段名、控件和属性等组合而成的,用来执行运算、操作字符或测试数据。 在Access中,表达式无处不再,大体(dt)可分为5种形式:算术表达式、字符串表达式、关系表达式、布尔表达式和对象运算表达式。第49页/共78页第四十九页,共79页。 1算术表达式 算术表达式也称数值表达式或数学表达式,是由算术运算符连接数值型常量(chngling)、变量、函数以及各种对象属性而形成的运算式。 第50页/共78页第五十页,共79页。 将Access种的算术运算符按其优先顺序(shnx)由高到低排列如表9-5所示。第51页/

24、共78页第五十一页,共79页。 2字符串表达式 字符串表达式由字符串运算符连接而成,用于完成(wn chng)字符串的连接运算。字符串运算符又称字符串连接运算符,主要包括3种,如表9-6所示。第52页/共78页第五十二页,共79页。第53页/共78页第五十三页,共79页。 3关系表达式 关系表达式是由关系运算符组成的表达式,其结果是一个逻辑值,即真(True)或假(False)。关系运算符又称比较运算符或条件运算符,可用于任意数据类型数据的比较(但运算符两边的操作(cozu)数据的数据类型必须一样)。 比较运算符如表9-7所示 第54页/共78页第五十四页,共79页。第55页/共78页第五十五

25、页,共79页。 4布尔表达式 布尔表达式又称逻辑表达式,是由逻辑运算符连接布尔逻辑类型常量、变量、函数、表达式以及各种对象属性组合而成的运算式,根据(gnj)逻辑运算符两边的逻辑值进行运算。其返回值为逻辑值,主要用于条件判断。 按优先级由高到低的顺序排列,逻辑运算符如表9-8所示。第56页/共78页第五十六页,共79页。第57页/共78页第五十七页,共79页。 5对象表达式 对象表达式即引用(ynyng)对象或对象属性的表达式,其运算符主要有两种:“!”和“.”,其介绍如表9-10所示。第58页/共78页第五十八页,共79页。9.5 VBA程序流程控制(kngzh)第59页/共78页第五十九页

26、,共79页。9.5.1 程序(chngx)书写规范 1语句书写规则 (1)源程序不分大小写,英文字母的大小写是等价的(字符串除外)。但是为了提高程序的可读性,VBA编译器对不同的程序部分都有默认的书写规则,当程序书写不符合(fh)这些规则时,编译器会自动进行转换。例如,关键字默认首字母大写,其他字母小写。 (2)通常一个语句写在一行,但一行最多允许255个字符。当语句较长,一行写不下时,可以用续行符“_”将语句连续写在下一行。 (3)如果一条语句输入完成,按回车后该行代码呈红色,说明该行语句有错误,应及时修改。第60页/共78页第六十页,共79页。 2添加注释 注释是为了提高程序的可读性而在程

27、序需要解释的地方加入的标志性说明(shumng)语句。一个好的程序一般都有注释语句。 在VBA中,注释语句一般用单引号或Rem关键字作为起始符。单引号可以在VBA代码行的任何位置,此时VBA编译器会将单引号后面同一行的所有内容看成注释内容。使用Rem关键字引导注释语句时,Rem关键字必须是注释语句的第一个词,即注释必须单独成行。第61页/共78页第六十一页,共79页。9.5.2 VBA程序结构类型(lixng) 1顺序结构 顺序结构是结构化程序设计中最常见的程序结构,它按代码从上到下顺序依次执行关键字控制下的代码。 另外(ln wi),在顺序结构中可使用WithEnd With对同一对象执行一

28、系列语句,这些语句按顺序执行,并可省略对象名。该关键字的语法格式如下所示。 With 对象名 Commands End With第62页/共78页第六十二页,共79页。 2选择结构 选择结构的程序(chngx)根据条件式的值来选择程序(chngx)运行的语句。主要有以下一些结构:第63页/共78页第六十三页,共79页。 1)If语句(yj) If 条件表达式1 Then 条件表达式1为真时要执行的语句(yj) Else If 条件表达式2 Then 条件表达式1为假,并且条件表达式2为真时要执行的语句(yj) End If语句(yj)第64页/共78页第六十四页,共79页。2)Select C

29、ase语句 Select Case语句是多分支选择(xunz)语句,即可根据测试条件中表达式的值来决定执行几组语句中的依据。使用格式如下:Select Case 表达式Case 表达式1 表达式的值与表达式1的值相等时执行的语句Case 表达式2 表达式的值介于表达式2和表达式3之间时执行的语句Case Else 上述情况均不符合时执行的语句End Select第65页/共78页第六十五页,共79页。 3)函数 除了以上两种方式外,VBA还提供了3个函数完成相应的操作(cozu)。 IIf函数 IIf函数的调用格式如下: IIf(条件式,表达式1,表达式2) 它的跳转由最左边的“条件式”控制,

30、当条件式为真(True)时,函数返回表达式1的值;当条件式为假(False)时,函数返回表达式2的值。第66页/共78页第六十六页,共79页。 Switch函数 Switch函数的调用格式是: Switch(条件式1,表达式1,条件式2,表达式2,条件式n,表达式n) 该函数根据条件式1至条件式n从左到右来决定函数返回值,表达式在第一个相关的条件式为True时作为(zuwi)函数返回值返回。条件式和表达式必须成对出现,否则会出错。第67页/共78页第六十七页,共79页。 Chosse函数 Chosse函数的调用格式如下(rxi): Chosse(索引式,选项1,选项2,选项3 ,选项n)第68页/共78页第六十八页,共79页。 3循环结构 循环结构使得若干(rugn)语句重复执行若干(rugn)次,实现重复性操作。在程序设计中,经常需

温馨提示

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

评论

0/150

提交评论