数据库实用教程模块和VBA程序设计学习教案.pptx





《数据库实用教程模块和VBA程序设计学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库实用教程模块和VBA程序设计学习教案.pptx(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1数据库实用教程模块数据库实用教程模块(m kui)和和VBA程序程序设计设计第一页,共78页。9.1 VBA程序设计程序设计(chn x sh j)初步初步 n n 在Office中包含有Visual Basic for Application(VBA),它是Visual Basic的语言(yyn)的一个子集,与Visual Basic具有相同的语言(yyn)的功能。第1页/共78页第二页,共78页。9.1.1 面向对象编程面向对象编程n n 程程程程序序序序设设设设计计计计语语语语言言言言(y(y yn)yn)主主主主要要要要分分分分为为为为面面面面向向向向对对对对象象象象和和和和面
2、面面面向向向向过过过过程程程程两两两两大大大大类类类类,而而而而VBAVBA就就就就是是是是一一一一种种种种面面面面向向向向对对对对象象象象的的的的程程程程序序序序设设设设计计计计语语语语言言言言(y(y yn)yn),对对对对象象象象是是是是Visual Visual BasicBasic程程程程序序序序设设设设计计计计语语语语言言言言(y(y yn)yn)的的的的核核核核心心心心,而而而而AccessAccess更更更更是是是是基基基基于于于于对对对对象象象象的的的的,对对对对象象象象在在在在数数数数据据据据库库库库编编编编程程程程中中中中无无无无处处处处不不不不在在在在:窗窗窗窗体体体体
3、、报报报报表表表表、数数数数据据据据页页页页甚甚甚甚至至至至数数数数据据据据库库库库本本本本身,都是一种对象。身,都是一种对象。身,都是一种对象。身,都是一种对象。n n 在在在在AccessAccess中中中中,常常常常用用用用对对对对象象象象有有有有2323个个个个,它它它它们们们们之之之之间间间间多多多多为为为为树树树树形形形形关关关关系系系系,根根根根据据据据它它它它们的相对关系,可分为根对象和非根对象两大类,其介绍如下。们的相对关系,可分为根对象和非根对象两大类,其介绍如下。们的相对关系,可分为根对象和非根对象两大类,其介绍如下。们的相对关系,可分为根对象和非根对象两大类,其介绍如下
4、。第2页/共78页第三页,共78页。第3页/共78页第四页,共78页。第4页/共78页第五页,共78页。n n 在VBA中,对象是封装数据和相应代码的客体,是代码和数据的结合,使用对象可更方便地管理数据和代码。对象具有属性(shxng)、方法和事件。第5页/共78页第六页,共78页。n n1属性n n 属性是对象的一个特征,它定义了对象的大小、颜色(yns)等特征。根据对象的类别不同,其属性也有所不同,而同一对象的不同实例属性构成也可能有所不同。我们可以通过修改对象的属性值来改变对性的特征。第6页/共78页第七页,共78页。n n2方法n n 方法是对象能够执行的一个操作,是与对象相关联的过程
5、和函数。不同的对象拥有不同的方法集合。例如(lr)窗体具有GoToPage方法,而其他对象则不具备此方法。第7页/共78页第八页,共78页。n n3 3事件事件n n Access Access事件是指操作事件是指操作AccessAccess的某个数据对象时发生的特定情况,的某个数据对象时发生的特定情况,是对象可以识别的动作。可以通过两种方式处理事件响应:一是是对象可以识别的动作。可以通过两种方式处理事件响应:一是使用宏对象来设置事件属性,二是为某个事件编写使用宏对象来设置事件属性,二是为某个事件编写VBAVBA代码完成代码完成动作,这样动作,这样(zhyng)(zhyng)的代码称为事件过程
6、。的代码称为事件过程。n n在在AccessAccess中,事件可分为焦点、鼠标、键盘、窗体、打印、数据、中,事件可分为焦点、鼠标、键盘、窗体、打印、数据、筛选和系统环境事件八大类。筛选和系统环境事件八大类。第8页/共78页第九页,共78页。n n Access为每个事件都定义了一个相对应的属性,属性名为“On”+事件名。如GotFocus的属性名为OnGotFocus。每个对象的所有事件属性在对象属性对话框的“事件”选项卡中均能找到,为事件属性指定值即为该事件定义了相应的响应操作。在Access中,事件的响应分为(fn wi)两种类型:宏响应和事件响应。第9页/共78页第十页,共78页。9.
7、1.2 VBA简介简介(jin ji)n n VBA VBA(Visual Basic for applicationVisual Basic for application)是)是AccessAccess的开发语言,其语法的开发语言,其语法与与Visual BasicVisual Basic编程语言相互间融,通过它可以像编写编程语言相互间融,通过它可以像编写VBVB语言一样语言一样来编写来编写VBAVBA程序。概括地说,程序。概括地说,VBAVBA有以下一些特点:有以下一些特点:n n1 1操作简单操作简单n n Access Access为为VBAVBA提供了一个典型的提供了一个典型的Wi
8、nowsWinows风格的集成开发环境风格的集成开发环境VBEVBE,通过它上面的菜单、工具和各种子窗口,用户可以方便,通过它上面的菜单、工具和各种子窗口,用户可以方便(fngbin)(fngbin)地编译、调试和运行程序。地编译、调试和运行程序。n n2 2面向对象面向对象n n VBA VBA是面向对象的,这是它也传统编程语言的重要区别。是面向对象的,这是它也传统编程语言的重要区别。n n3 3事件驱动事件驱动n n VBA VBA用事件驱动程序,即当某个控件或对象相关的事件发生时,用事件驱动程序,即当某个控件或对象相关的事件发生时,会自动启动相应得程序。会自动启动相应得程序。第10页/共
9、78页第十一页,共78页。9.1.3 VBA编程环境编程环境(hunjng)n n Access所提供(tgng)的VBA开发界面成为VBE(Visual Basic Editor,VB编辑器),它为VBA程序的开发提供(tgng)了完整的开发和调试工具。第11页/共78页第十二页,共78页。n n1进入VBEn n 由于Access模块(m kui)分为类模块(m kui)和标准模块(m kui)(详见9.2.1),进入VBE的方式也有所不同。n n对于类模块(m kui)有两种方式:n n(1)单击属性窗体的“事件”选项卡,选中某个事件并将其属性设置其为“事件过程”,再单击属性栏右侧的“.
10、”按钮,即可进入。第12页/共78页第十三页,共78页。n n(2)在属性(shxng)窗体的“事件”选项卡下,直接单击时间属性(shxng)栏右侧的“.”按钮,打开如图9-2所示的“选择生成器”对话框,选择“代码生成器”,单击确定即可进入。第13页/共78页第十四页,共78页。n n对于标准模块,有三种进入方式:n n(1)模块已经存在时,在数据库的“模块”窗口下,双击已存在的模块对象即可进入。n n(2)新建模块时,在数据库的“模块”窗口下,单击工作(gngzu)栏上的“新建”按钮即可进入。n n(3)在数据库对象窗体中,单击“工具”菜单中的“宏”级联菜单的“Visal Basic编辑器”
11、选项即可进入。第14页/共78页第十五页,共78页。n n2 2VBEVBE窗口窗口(chungk(chungk u)u)n n VBE VBE窗口窗口(chungk(chungk u)u)可分为标准工具栏、工程窗口可分为标准工具栏、工程窗口(chungk(chungk u)u)、属性窗口、属性窗口(chungk(chungk u)u)和代码窗口和代码窗口(chungk(chungk u)4u)4部分,如图部分,如图9-39-3所示。所示。第15页/共78页第十六页,共78页。n n 另外,还有对象窗口、对象浏览器、立即窗口、本地窗口和监视窗口等,可以通过(tnggu)“视图”菜单的相应选项选
12、择显示。第16页/共78页第十七页,共78页。n n1 1标准标准(biozh(biozh n)n)工具栏工具栏n n标准标准(biozh(biozh n)n)工具栏中包括创建模块时常用的命令按工具栏中包括创建模块时常用的命令按钮,可通过选中或撤消钮,可通过选中或撤消“视图视图”菜单中菜单中“工具栏工具栏”菜单中菜单中的的“标准标准(biozh(biozh n)”n)”按钮来确定显示还是隐藏标准按钮来确定显示还是隐藏标准(biozh(biozh n)n)工具栏。标准工具栏。标准(biozh(biozh n)n)工具栏及其上按钮工具栏及其上按钮如图如图9-49-4所示。所示。第17页/共78页第
13、十八页,共78页。n n2工程(gngchng)窗口n n 工程(gngchng)窗口又叫工程(gngchng)资源管理器窗口,用于显示应用程序中用到的模块文件列表。通过它可以控制代码窗口、对象窗口以及对象文件夹的显示。n n 双击工程(gngchng)窗口上的模块或类,相应的代码就会在代码窗口中显示出来。第18页/共78页第十九页,共78页。n n3属性窗口n n 用于显示所选对象(duxing)的属性,可“按字母序”和“按分类序”查看并编辑这些对象(duxing)的属性,这种修改对象(duxing)属性的方法属于“静态”设置方法。还可以在代码窗口中使用VBA代码编辑对象(duxing)的属
14、性,这种方法属于“动态”设置方法。第19页/共78页第二十页,共78页。n n4代码窗口n n 用于输入和编辑VBA代码。用户可以打开多个代码窗口用来查看各个模块(m kui)的代码。在代码窗口中,关键字和普通代码的颜色是不同的,可以很容易地区分。第20页/共78页第二十一页,共78页。9.2 模块模块(m kui)概述概述n n 模块以VBA语言为基础,由声明和过程(guchng)两部分组成。第21页/共78页第二十二页,共78页。9.2.1 模块模块(m kui)的分类的分类 n n Access 2003有两个模块类型:类模块和标准模块。n n1类模块n n 类模块是与某一特定窗体或报表
15、相关联的过程集合。它属于Access数据库对象,即新建一个(y)类模块救创建一个(y)新对象。类模块主要包括窗体模块和报表模块和自定义模块,其中窗体模块和报表模块从属于各自的窗体或报表。第22页/共78页第二十三页,共78页。n n2标准模块n n 标准模块即数据库中的可用函数模块和子程序,只包含通用(tngyng)只一些通用(tngyng)过程和常用过程,并不与任何对象相关联,通常用来存放供其他Access数据库对象使用的公共过程。第23页/共78页第二十四页,共78页。n n3 3类模块和标准类模块和标准(biozh(biozh n)n)模块的区别模块的区别n n 这两种模块的主要区别在于
16、其存储方式和生命周期不同。这两种模块的主要区别在于其存储方式和生命周期不同。n n 类模块的数据由类实例创建,独立于应用程序。标准类模块的数据由类实例创建,独立于应用程序。标准(biozh(biozh n)n)模块只有一个备份,因此当其中的公共变量发生模块只有一个备份,因此当其中的公共变量发生变化时,其后的程序再读取该变量时,得到的是变量变化变化时,其后的程序再读取该变量时,得到的是变量变化后的值。后的值。n n 类模块的作用域是类实例对象的存活期,其中的声明或类模块的作用域是类实例对象的存活期,其中的声明或存在的任何变量或常量的值,都仅在该代码运行时有效。存在的任何变量或常量的值,都仅在该代
17、码运行时有效。而标准而标准(biozh(biozh n)n)模块的变量在声明为模块的变量在声明为PublicPublic时,在工程的时,在工程的任何地方都可见。任何地方都可见。第24页/共78页第二十五页,共78页。9.1.2 模块模块(m kui)和过程和过程 n n 模块由若干过程组成。过程是VBA程序(chngx)代码的容器,是程序(chngx)中的若干较小的逻辑部件,可分为子程序(chngx)和函数过程,每种过程都有其独特的功能。过程可以简化程序(chngx)设计任务,还可以增强或扩展Visual Basic的构件。另外,过程还可用于共享任务或压缩重复任务,如减少频繁运算等。第25页/
18、共78页第二十六页,共78页。n n1 1子过程子过程n n 子过程是由子过程是由SubSub和和End SubEnd Sub语句包含语句包含(bohn)(bohn)起来的起来的VBAVBA语句其格语句其格式如下:式如下:n nPrivate|Public|Friend Sub Private|Public|Friend Sub 子过程名(参数列表)子过程名(参数列表)n n n nExit SubExit Subn n n nEnd SubEnd Sub第26页/共78页第二十七页,共78页。n n2 2函数过程函数过程n n 函数过程是由函数过程是由FunctionFunction和和En
19、d FunctionEnd Function语句包含起来语句包含起来(q(q li)li)的的VBAVBA语语句,其格式如下:句,其格式如下:n nPrivate|PublicStaticFunction Private|PublicStaticFunction 函数名(参数行)函数名(参数行)As As 数据类型数据类型 n n n nExit FunctionExit Functionn n n nEnd FunctionEnd Function第27页/共78页第二十八页,共78页。9.3 创建创建(chungjin)模块模块第28页/共78页第二十九页,共78页。9.3.1 创建创建(
20、chungjin)新模块新模块n n1创建标准模块n n 打开数据库,单击数据库窗口左边对象列表(li bio)中的“模块”选项,然后单击工具栏上的“新建按钮”,即“Visual Basic编辑器”,显示模块设计视图并创建空白标准模块,或单击“Visual Basic编辑器”菜单栏中“插入”按钮,在弹出的下拉列表(li bio)中选择“模块”选项,也会出现一个空白的标准模块,如图9-5所示。此时在代码窗口即可进行编辑。第29页/共78页第三十页,共78页。第30页/共78页第三十一页,共78页。n n2创建类模块n n 类模块可根据与窗体、报表的相关性分为与窗体报表相关的类模块和与窗体报表不相
21、关的类模块。n n 创建与窗体或报表相关的类模块过程如下:n n 双击工程窗口中的窗体名称,然后在弹出的新建模块代码(di m)窗口中输入代码(di m)即可,如图9-6所示。第31页/共78页第三十二页,共78页。第32页/共78页第三十三页,共78页。n n 创建与窗体或报表不相关的类模块步骤如下:创建与窗体或报表不相关的类模块步骤如下:n n 单击单击“数据库数据库”窗口或窗口或“Visual Basic“Visual Basic编辑器编辑器”的菜单栏上的菜单栏上“插入插入”,在弹出下拉列表中选择,在弹出下拉列表中选择“类模块类模块”,即可在,即可在“Visual Basic“Visua
22、l Basic编辑器编辑器”中看到一个空白的类模块。将所需的中看到一个空白的类模块。将所需的声明或过程添加到类模块设计视图中,进行保存即可。声明或过程添加到类模块设计视图中,进行保存即可。n n 设计的类模块可以作为新类型来创建用户自定对象,类中设计的类模块可以作为新类型来创建用户自定对象,类中定义的变量为对象的属性,子过程和函数则将成为对象的方定义的变量为对象的属性,子过程和函数则将成为对象的方法法(fngf(fngf)。可以通过对象来引用其属性和方法。可以通过对象来引用其属性和方法(fngf(fngf)。第33页/共78页第三十四页,共78页。9.3.2 将宏转换将宏转换(zhunhun)
23、为模为模块块n n 将窗体或报表上的宏转换为VBA代码的方法如下:n n(1)使用“设计(shj)”视图的模式打开窗体或报表。n n(2)单击菜单栏上的“工具”按钮,在弹出下拉列表中选择“宏”命令,然后选择“将窗体(报表)的宏转换为Visual Basic代码”。n n(3)在弹出的“转换宏”对话框中,选择所需项,单击“转换”按钮即可。第34页/共78页第三十五页,共78页。n n 将全局宏转换为将全局宏转换为VBAVBA代码的方法如下代码的方法如下(rxi)(rxi):n n(1 1)在)在“数据库数据库”窗口中,单击左侧对象列表中的窗口中,单击左侧对象列表中的“宏宏”对象按对象按钮,在宏对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实用教程 模块 VBA 程序设计 学习 教案

限制150内