您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Access数据库2003教学课件-CH9解析
Access2003数据库教程第9章模块2Access2003数据库教程•第1章数据库系统概述•第2章Access2003数据库系统的基本概念•第3章重要的表操作•第4章查询•第5章创建实用窗体•第6章报表•第7章数据访问页的设计•第8章宏•第9章模块•第10章查询综合例题第9章模块3第9章模块•9.1模块的基本概念•9.2创建模块•9.3VBA程序设计基础•9.4VBA应用实例•本章小结第9章模块49.1模块的基本概念•9.1.1模块的分类•9.1.2模块的组成•9.1.3模块与宏的区别•9.1.4将宏转换为模块第9章模块59.1.1模块的分类1.类模块类模块是可以定义新对象的模块。Access中的类模块可以独立存在,也可以与窗体和报表同时出现。窗体和报表模块都是类模块,而且它们都从属于各自的窗体或报表。窗体和报表模块通常都含有事件过程,用户可以使用事件过程来控制窗体或报表的行为,以及它们对用户操作的响应。窗体和报表模块的作用范围都是局限在所属的窗体或者报表内部,它的生命周期是伴随着窗体或者报表的打开而开始、关闭而结束。第9章模块62.标准模块标准模块包含的是通用过程和常用过程,通用过程是不与任何对象相关联的过程,常用过程可以在数据库中的任何位置执行。标准模块通常是放置一些公共变量和公共过程,这些公共的变量和过程既可以提供给类模块里的过程调用,也可提供给别的标准模块里的过程调用,但是在标准模块里定义的私有变量和私有过程只能供本模块使用。标准模块中公共变量和公共过程的作用范围都是整个应用程序,它的生命周期是伴随着应用程序的运行而开始、关闭而结束。第9章模块79.1.2模块的组成1.声明部分可以在声明部分定义变量、常量、自定义类型和外部过程。在模块中声明部分和过程部分是分割开来的,声明部分定义的常量和变量是全局的,可以被模块中所有过程调用。2.事件过程部分事件过程是一种自动执行的过程,用来对用户或者程序代码启动的事件或系统触发的事件做出响应,事件过程又分为子(Sub)过程和函数(Function)过程。第9章模块8(1)子(Sub)过程:Sub过程名[程序代码]EndSub(2)函数(Function)过程:Function过程名[As数据类型][程序代码]EndFunction在定义函数过程或者子过程的时候,在关键字Sub或者Function的前面可以加上Public或者Private来说明过程是公有的还是私有的,私有过程在别的模块中不能被调用。能否返回值,是子过程和函数过程之间的根本区别。第9章模块99.1.3模块与宏的区别1.模块与宏的联系与区别使用“宏”更加简单,不需要编程,而使用“模块”,要求对编程有基本知识,比较复杂。模块的运行速度比较快,而“宏”运行速度比较慢。宏的每个基本操作在VBA中都有相应的等效命令,如果在“模块”中使用这些语句就可以实现所有的单独的“宏”命令,所以“模块”的功能比“宏”更加强大。第9章模块102.模块的功能数据库的事务处理操作:可以将事件的过程建立在窗体和报表的定义中,更有利于数据库的维护,“宏”是独立于窗体和报表之外,所以维护相对困难。创建自定义函数:使用自定义函数就可以避免编写复杂的表达式。错误处理:可以检测并进行提示。这样就有更友好的用户界面,对用户的下一步操作提供帮助。复杂程序处理:可以编写选择结构、循环结构等复杂程序。第9章模块119.1.4将宏转换为模块Access中的每一个宏操作都有自己对应的等效的VBA代码,根据需要我们可以把宏转换为模块。第9章模块12在“工具”菜单→“宏”选项→“将宏转换为VisualBasic代码”,弹出一个对话框如下所示:第9章模块13宏转换为模块的结果第9章模块14宏转换生成的模块代码第9章模块159.2创建模块•9.2.1创建类模块•9.2.2创建标准模块•9.2.3VBA编辑环境第9章模块169.2.1创建类模块类模块的创建过程主要有以下两种方法。方法一:定位窗体、报表或者其中的某一个控件,单击工具栏“代码”按钮。方法二:通过窗体、报表或者控件“属性”窗口中“事件”选项卡的“事件过程”项进入。第9章模块179.2.2创建标准模块标准模块的创建过程主要有以下两种方法:方法一:在数据库窗体选择“模块”对象,单击数据库窗口上边的“新建”按钮。方法二:在数据库对象窗口中,单击“工具”菜单“宏”→“Visualbasic编辑器”。第9章模块189.2.3VBA编辑环境工程资源管理器属性窗口对象列表事件列表代码窗口第9章模块199.3VBA程序设计基础•9.3.1面向对象程序设计的基本概念•9.3.2VBA编程基础•9.3.3VBA程序流程控制语句•9.3.4过程调用和参数传递第9章模块209.3.1面向对象程序设计的基本概念1.类和对象的概念类是对象的抽象表示方法,是具有属性相同的所有对象的集合。对象是类创建的一个实体。在Access窗体和报表上的所有元素都可以看成一个对象,比如窗体本身、节或者各个控件,他们都是窗体中的对象。所有的对象都具有属性或者方法。2.属性和方法属性:是描述对象的特性。它定义了对象的特征,诸如大小、颜色或屏幕位置,或某一方面的行为。方法:指的是对象能执行的动作。对象的属性或者行为的引用格式是:对象.属性或者行为第9章模块21表9.3.1控件常用属性说明属性名含义作用Caption“标题”属性用于设置控件上显示标题的内容Enabled“可用性”属性设置该控件是否可用Width“宽度”属性设置控件的宽度Top“上边距”属性设置控件距离窗体上边缘的距离Left“左边距”属性设置控件距离窗体左边缘的距离Name“名称”属性设置控件的名称Visiable“可见性”属性设置控件是否可见FontName“字体名称”属性设置控件上使用的字体的名称FontColor“字体颜色”属性设置控件上使用的字体的颜色FontSize“字体大小”属性设置控件上使用的字体的大小FontUnderline“字体下画线”属性设置控件上使用的字体是否带有下画线第9章模块22•在Access中除了我们看到的窗体、报表和控件以外,还有一个在VBA编程时常用的对象:DoCmd对象。DoCmd对象主要是通过其方法来实现VBA编程中对Access其他对象的操作。DoCmd对象最常用的行为有以下几个:•用于打开报表:DoCmd.OpenReportReportName,…•用于打开窗体:DoCmd.OpenFormFormName,…•用于关闭其他对象:DoCmd.CloseobjectType,objectName,…第9章模块23•3.事件和事件过程事件:是一个对象可以辨认的动作,像单击鼠标或按下键盘上某个按键等,并且可以写某些代码针对此类动作来做响应。用户做动作或者程序代码的结果可能导致事件发生,或是由系统引发。描述事件发生以后所完成的指定动作的代码叫事件过程,或者叫事件响应代码。第9章模块249.3.2VBA编程基础1.VBA的数据类型数据类型可以分为数值型、布尔型、日期型、字符型、对象型、变体型和用户自定义的数据类型。Access中数据表中的数据存储类型与VBA中的数据类型几乎都可以找到对应和匹配。第9章模块252.变量变量是用于程序运行时保存临时信息的。也可以是用户自定义的数据类型。(1)变量的命名原则:●第一个字母必须是英文字母。●不能在变量名中使用空格、句点(下划线“_”除外)等标点符号。●变量名的长度不能超过255个字符。●变量名不区分大小写。●不能在某一范围内的相同层次中使用重复的变量名。●变量不能与函数名、过程名相同。第9章模块26(2)变量的声明Dim/Private/StaticPublic藏“变量名”[As“变量类型”]例:DimNumAsInteger’Num是显式变量NewNum=12345’隐式变量,数据类型为变体型NewNum%=12345’隐式变量,数据类型为整型第9章模块27•用Dim和使用Private来声明的变量都是私有的,但是使用Private可以更容易对程序的读写和解释。如在模块的声明部分使用Dim或者Private来声明变量,该变量可以在本模块的任何过程使用,但是不能在别的模块使用;如果在过程内部使用Dim或Private,该变量只能在本过程使用。•使用Public语句声明的变量是公有的,可以用于应用程序的任何过程。使用Static语句声明的变量是静态变量,即该变量在调用时仍保留它原先的值。第9章模块283.常量常量的命名一般都用大写字母,主要是为了和变量名区分。有三种类型的常量:(1)符号常量定义格式:Const符号常量名=常量值符号常量在定义的时候一定要赋值,但是不用指明常量的数据类型。(2)固有(内部)常量由Access自动定义,作为引用对象库的一部分,通过“对象浏览器”打开。(3)系统定义常量只有True、False、Yes、No、On、Off和Null等几种,用户可以在任何地方直接使用系统定义常量。第9章模块294.数组数组中所有的元素的数据类型都是相同的,数组中可以存储的元素个数称为数组的容量。数组分为两类:固定数组和动态数组。固定数组声明和变量声明类似,其中数组名由数组变量名和数组下标构成。声明格式:Dim“数组名(n)”[As“类型”]Static“数组名(n)”[As“类型”]Public“数组名(n)”[As“类型”]Private“数组名(n)”[As“类型”]第9章模块30说明:括号中n代表数组的上界,默认的下界为0,这样的数组容量为n+1。如果要以1为下界,可以用“1ton”代替括号中的n,如果要定义多维数组,可以用“n1,n2”代替括号中的n。例如:DimNewArray1(5)Asinteger’一维数组,容量为6DimNewArray2(3to6)Asinteger’一维数组,容量为4DimNewArray3(3,5)Asinteger’二维数组,容量为24第9章模块31•5.常用操作函数在VBA编程过程中,经常用到以下的几个函数,如InputBox函数、MsgBox函数和DLookup函数等。下面分别介绍这三个常用函数的使用方法。•(1)InputBox函数•格式:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])•第9章模块32•InputBox函数也称为“输入框”,是用对话框来显示提示信息,等待用户输入文本或单击按钮,并返回字符串,其中包含文本框的内容。第9章模块33(2)MsgBox函数格式:MsgBox(prompt[,buttons][,title][,helpfile,context])也称为“消息框”,在对话框中显示消息,并等待用户单击按钮,然后返回一个Integer值,该值指示用户单击了哪个按钮。第9章模块34(3)DLookup函数格式:DLookup(Expr,Domain,[Criteria])使用DLookup函数可以从指定记录集(域)中获得特定字段的值。可以在VisualBasic、宏、查询表达式、窗体或报表上的计算控件中使用DLookup。可以使用该函数为窗体或报表显示不在记录源中的字段的值。Expr:此表达式标识要返回其值的字段。它可以是标识表或查询中的字段的字符串表达式,也可是对该字段中的数据执行计算的表达式。在Expr中,可以包含表中的字段的名称、窗体上的控件、常量或函数。如果Expr包含一个函数,该函数可以是内置函数或用户定义的函数,但不能是另一个域聚合函数或SQL聚合函数。Domain:字符串表达式,可以是表名称或不需要参数的查询的查询名称。说明查找的数据范围是哪一个表或者查询。Criteria:可选字符串表达式,用于限制对其执行DLookup函数的数据的范围。如果省略Criteria,DLookup函数将针对整个记录集(域)计算Expr。任何包含在Criteria中的字段必须也是Domain中的字段;否则DLookup函数将返回Null。第9章模块359
本文标题:Access数据库2003教学课件-CH9解析
链接地址:https://www.777doc.com/doc-3969723 .html