Access基础与应用教程PPT课件第8章模块与VBA程序设计.ppt





《Access基础与应用教程PPT课件第8章模块与VBA程序设计.ppt》由会员分享,可在线阅读,更多相关《Access基础与应用教程PPT课件第8章模块与VBA程序设计.ppt(236页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8 8章章 为了能解决一些实际为了能解决一些实际开发活动中的复杂的数据开发活动中的复杂的数据库应用问题,库应用问题,AccessAccess数据库数据库系统提供了系统提供了“模块模块”对象对象来解决此类难题。本章主来解决此类难题。本章主要介绍要介绍AccessAccess数据库的模块数据库的模块的基本概念及的基本概念及VBAVBA语言的语言的程序设计。程序设计。模块与模块与VBA程序设计程序设计第第8 8章章 模块与模块与VBAVBA程序设计程序设计 本章主要内容退出退出8.1 8.1 模块概述模块概述8.2 VBA8.2 VBA程序设计概述程序设计概述8.3 VBA8.3 VBA编程环境
2、编程环境VBEVBE窗口窗口8.4 VBA8.4 VBA编程基础编程基础9.5 VBA9.5 VBA程序语句程序语句8.6 VBA8.6 VBA中的常用操作方法中的常用操作方法8.7 VBA 8.7 VBA 程序调试和错误处理程序调试和错误处理8.1 8.1 模块概述模块概述模块是模块是Access数据库中的一个数据库对象,数据库中的一个数据库对象,它以它以VBA(VisualBasicforApplication)语言)语言为基础编写。通俗来说,模块是为基础编写。通俗来说,模块是Access数据库数据库中用于保存中用于保存VBA程序代码的容器。模块基本上是程序代码的容器。模块基本上是由声明、
3、语句和(由声明、语句和(Sub和和Function)过程组成)过程组成的集合,它们作为一个已命名的单元存储在一起,的集合,它们作为一个已命名的单元存储在一起,对对VBA程序代码进行组织。程序代码进行组织。Access有两种类型的模块:标准模块和类模有两种类型的模块:标准模块和类模块。块。8.1.1 8.1.1 模块类型模块类型1标准模块标准模块标准模块包含与任何其他对象都无关的常规过程,标准模块包含与任何其他对象都无关的常规过程,以及可以从数据库任何位置运行的经常使用的过程。以及可以从数据库任何位置运行的经常使用的过程。在标准模块中,可以放置希望供整个数据库的其他过在标准模块中,可以放置希望供
4、整个数据库的其他过程使用的程使用的Sub过程和过程和Function过程。过程。标准模块中的公共变量或公共过程具有全局特性,标准模块中的公共变量或公共过程具有全局特性,其作用范围在整个应用程序里,生命周期是伴随着应其作用范围在整个应用程序里,生命周期是伴随着应用程序的运行而开始、关闭而结束。用程序的运行而开始、关闭而结束。8.1.1 8.1.1 模块类型模块类型(续)(续)类模块是可以包含新对象的定义的模块。一个类的每类模块是可以包含新对象的定义的模块。一个类的每个实例都新建一个对象。个实例都新建一个对象。窗体模块和报表模块都是类模块,它们从属于各自的窗体模块和报表模块都是类模块,它们从属于各
5、自的窗体和报表。窗体模块和报表模块通常都含有事件过程,窗体和报表。窗体模块和报表模块通常都含有事件过程,而过程的运行用于响应窗体或报表上的事件。窗体模块和而过程的运行用于响应窗体或报表上的事件。窗体模块和报表模块中的过程可以调用标准模块中已经定义好的过程。报表模块中的过程可以调用标准模块中已经定义好的过程。为窗体或报表创建第一个事件过程时,为窗体或报表创建第一个事件过程时,Access将自将自动创建与之关联的窗体模块或报表模块。动创建与之关联的窗体模块或报表模块。窗体模块和报表模块具有局部特性,其作用范围局限窗体模块和报表模块具有局部特性,其作用范围局限在所属窗体或报表内部,而生命周期则是伴随
6、着窗体或报在所属窗体或报表内部,而生命周期则是伴随着窗体或报表的打开而开始、关闭而结束。表的打开而开始、关闭而结束。8.1.2 8.1.2 模块的组成模块的组成模块是装着模块是装着VBA代码的容器。一个模块包含一个声明代码的容器。一个模块包含一个声明区域,包含一个或多个过程。如图区域,包含一个或多个过程。如图9-1所示。所示。过程是模块的单元组成,用过程是模块的单元组成,用VBA代码编写而成。过程代码编写而成。过程分为分为Sub过程和过程和Function过程两种类型。过程两种类型。1 1声明区域声明区域声明部分主要包括:声明部分主要包括:Option声明、变量或常量或自定义声明、变量或常量或
7、自定义数据类型的声明。数据类型的声明。模块中可以使用的模块中可以使用的Option声明语句包括:声明语句包括:(1)OptionBase1声明模块中数组下标的默认下界为声明模块中数组下标的默认下界为1,不声明则默认下,不声明则默认下界为界为0。(2)OptionCompareDatabase声明模块中需要字符串比较时,将根据数据库的区域声明模块中需要字符串比较时,将根据数据库的区域ID确定的排序级别进行比较;不声明则按字符确定的排序级别进行比较;不声明则按字符ASClI码进行比码进行比较。较。(3)OptionExplicit强制模块用到的变量必须先进行声明。强制模块用到的变量必须先进行声明。
8、此外,有关变量或常量的声明的语句格式将在此外,有关变量或常量的声明的语句格式将在8.4节介绍。节介绍。2 2SubSub过程过程Sub过程又称为子过程。执行一系列操作,无返回过程又称为子过程。执行一系列操作,无返回值。值。Sub过程的定义格式如下:过程的定义格式如下:Sub过程名过程名(形参列表形参列表)VBA程序代码程序代码EndSubVBA提供了一个关键字提供了一个关键字Call,可以调用该子过程。,可以调用该子过程。此外,可以引用该过程名来调用该子过程,此时,过程此外,可以引用该过程名来调用该子过程,此时,过程名后不能带有一对圆括号。名后不能带有一对圆括号。3 3FunctionFunc
9、tion过程过程Function过程又称为函数过程。执行一系列操作,过程又称为函数过程。执行一系列操作,有返回值。有返回值。Function过程的定义格式如下:过程的定义格式如下:Function过程名过程名(形参列表形参列表)VBA程序代码程序代码EndFunction函数过程不能使用函数过程不能使用Call来调用执行,需要直接引来调用执行,需要直接引用函数过程名并必须后带一对圆括号。用函数过程名并必须后带一对圆括号。8.2 VBA8.2 VBA程序设计概述程序设计概述VB(VisualBasic)是一种面向对象程序设计语)是一种面向对象程序设计语言,微软公司将其引用到其他常用的应用程序中,
10、例如,言,微软公司将其引用到其他常用的应用程序中,例如,在在Office的成员的成员Word、Excel、Access中,这种夹中,这种夹在应用程序中的在应用程序中的VisualBasic版本称之为版本称之为VBA(VisualBasicforApplication)。)。VBA是是VB的子集。的子集。Access中使用的编程语言是中使用的编程语言是VBA语言。语言。VBA是面向对象的程序设计语言。面向对象程序设是面向对象的程序设计语言。面向对象程序设计是一种以对象为基础,以事件来驱动对象的程序设计计是一种以对象为基础,以事件来驱动对象的程序设计方法。方法。8.2.1 8.2.1 对象和对象名
11、对象和对象名对象是对象是VBA应用程序的基础构件。在开发一个应用程序的基础构件。在开发一个Access数据库应用系统时,必须先建立各种对象,然数据库应用系统时,必须先建立各种对象,然后围绕对象进行程序设计。在后围绕对象进行程序设计。在Access中,表、查询、中,表、查询、窗体、报表等是对象,字段、窗体和报表中的控件(如窗体、报表等是对象,字段、窗体和报表中的控件(如标签、文本框、按钮等)也是对象。标签、文本框、按钮等)也是对象。每个对象均有名称,称为对象名。每个对象都有其每个对象均有名称,称为对象名。每个对象都有其属性、方法、事件等。属性、方法、事件等。对象有效的名称必须符合对象有效的名称必
12、须符合Access的标准命名规的标准命名规则,窗体、报表、字段等对象的名称不能超过则,窗体、报表、字段等对象的名称不能超过64个字符,个字符,控件对象名称长度不能超过控件对象名称长度不能超过255个字符。个字符。8.2.1 8.2.1 对象和对象名对象和对象名(续)(续)对于未绑定控件,默认名称是控件的类型加上一个对于未绑定控件,默认名称是控件的类型加上一个唯一的整数。例如,对于新建的文本框控件,其默认名唯一的整数。例如,对于新建的文本框控件,其默认名称为:称为:Text、Text等,以此类推。等,以此类推。对于绑定控件,如果通过从字段列表中拖放字段来对于绑定控件,如果通过从字段列表中拖放字段
13、来创建控件,则对象的默认名称是记录源中字段的名称。创建控件,则对象的默认名称是记录源中字段的名称。在在“设计视图设计视图”(如窗体(如窗体“设计视图设计视图”)窗口中,)窗口中,如果要修改某个对象的名称,可在该对象如果要修改某个对象的名称,可在该对象“属性表属性表”对对话框中,对话框中,对“名称名称”属性赋予新的对象名称。属性赋予新的对象名称。注意:同一窗体、报表上的控件的名称不能相同。注意:同一窗体、报表上的控件的名称不能相同。但不同窗体、报表或数据访问页上的控件的名称可以相但不同窗体、报表或数据访问页上的控件的名称可以相同。同。8.2.1 8.2.1 对象和对象名对象和对象名(续)(续)A
14、ccess数据库由表、查询、窗体、报表、数据库由表、查询、窗体、报表、宏和模块对象列表构成,形成不同的类。宏和模块对象列表构成,形成不同的类。在在“导航导航”窗格中可列出所有的数据库对象,窗格中可列出所有的数据库对象,单击单击“导航导航”窗格窗格“浏览类别浏览类别”中的任一对象类中的任一对象类(如(如“窗体窗体”),就展开相应对象(如),就展开相应对象(如“窗体窗体”)类的对象列表。)类的对象列表。集合表达的是某类对象所包含的实例构成。集合表达的是某类对象所包含的实例构成。8.2.8.2.2 2 对象的属性对象的属性对象属性是描述对象的特征。对象属性是描述对象的特征。对象的每个属性都有一个默认
15、值,这在对象的每个属性都有一个默认值,这在“属性表属性表”对话框中可以看到。如果不改变该值,应用程序就对话框中可以看到。如果不改变该值,应用程序就使用该默认值,如果默认值不能满足要求,就要对它使用该默认值,如果默认值不能满足要求,就要对它重新设置。重新设置。在在VBA代码中,对象属性的引用方式:代码中,对象属性的引用方式:对象名对象名.属性名属性名Access中中“对象对象”可以是单一对象,也可以是可以是单一对象,也可以是对象的集合。例如,对象的集合。例如,Label0.caption中的中的Label0表表示一个示一个“标签标签”对象,对象,Reports.Item(0)表示报表集表示报表集
16、合中的第一个报表对象。合中的第一个报表对象。8.2.8.2.2 2 对象的属性对象的属性(续)(续)在可视化的在可视化的“设计视图设计视图”(如窗体(如窗体“设计视图设计视图”)窗口中,)窗口中,若要查看或设置某一对象的属性,可以通过若要查看或设置某一对象的属性,可以通过“属性表属性表”对话框来对话框来进行,不过此时在进行,不过此时在“属性表属性表”对话框中列出的属性名是中文的,对话框中列出的属性名是中文的,如图如图8-2所示。但在所示。但在VBE窗口中,输入某一对象名及窗口中,输入某一对象名及“.”后弹出后弹出的的“属性及方法属性及方法”列表框中的属性名或方法名全都是英文的,如列表框中的属性
17、名或方法名全都是英文的,如图图8-3所示。所示。中文的中文的英文的英文的表表8-1 8-1 窗体常用的格式属性窗体常用的格式属性窗体常用格式属性窗体常用格式属性作用作用AutoCenter用于用于设设置窗体打开置窗体打开时时,是否放置屏幕中部是否放置屏幕中部BorderStyle用于用于设设置窗体的置窗体的边边框框样样式式Caption用于用于设设置窗体的置窗体的标题标题内容内容CloseButton用于用于设设置是否在窗体中置是否在窗体中显显出关出关闭闭按按钮钮ControlBox用于用于设设置是否在窗体中置是否在窗体中显显出控制框出控制框MinMaxButtons用于用于设设置是否在窗体置
18、是否在窗体显显出最小化和最大化按出最小化和最大化按钮钮NavigationButtons用于用于设设置是否置是否显显出出导导航按航按钮钮Picture用于用于设设置窗体的背景置窗体的背景图图片片RecordSelector用于用于设设置是否置是否显显出出记录选记录选定器定器ScrollBars用于用于设设置是否置是否显显出出滚动滚动条条表表8-2 8-2 窗体常用的数据属性窗体常用的数据属性窗体常用数据属性窗体常用数据属性作用作用RecordSource用于用于设设置窗体的数据来源置窗体的数据来源OrderBy用于用于设设置窗体中的置窗体中的记录记录的排序方式的排序方式AllowAdditio
19、ns用于用于设设置窗体中的置窗体中的记录记录是否可以添加是否可以添加AllowDeletions用于用于设设置窗体中的置窗体中的记录记录是否可以是否可以删删除除AllowEdits用于用于设设置窗体中的置窗体中的记录记录是否可以是否可以编辑编辑AllowFilters用于用于设设置窗体中的置窗体中的记录记录是否可以是否可以筛选筛选表表8-3 8-3 文本框常用的属性文本框常用的属性文本框属性文本框属性作用作用 BackColor用于用于设设置文本框的背景置文本框的背景颜颜色,色,如如设设置置蓝蓝色:色:text0.BackColor=RGB(0,0,255)ForeColor用于用于设设置文本
20、框的前景(字体)置文本框的前景(字体)颜颜色色BorderColor用于用于设设置文本框的置文本框的边边框框颜颜色色BorderStyle用于用于设设置文本框的置文本框的边边框框样样式式 Enabled用于用于设设置文本框是否可用,置文本框是否可用,True为为可用,可用,False 为为不可用不可用 Name用于用于设设置文本框的名称置文本框的名称 Locked用于用于设设置文本框是否可置文本框是否可编辑编辑 Value用于用于设设置文本框中置文本框中显显显显示的内容示的内容 Visible用于用于设设置文本框是否可置文本框是否可见见,True为为可可见见,False 为为不可不可见见 Te
21、xt用于用于设设置在文本框中置在文本框中显显示的文本示的文本(要求要求文本框文本框先先获获得焦点得焦点)InputMask用于用于设设置文本框的置文本框的输输入掩入掩码码。若将。若将InputMask 属性属性设为设为“密密码码”,则则在在该该文本框文本框中中键键入的任何字符都将以原字符保存,入的任何字符都将以原字符保存,但但显显示示为为星号(星号(*)。)。表表8-4 8-4 命令按钮常用的属性命令按钮常用的属性命令按命令按钮钮常用属性常用属性作用作用 Caption用于用于设设置命令按置命令按钮钮上要上要显显示的文字示的文字 Cancel用于用于设设置命令按置命令按钮钮是否也是窗体上是否也
22、是窗体上的的“取消取消”按按钮钮 Default用于用于设设置命令按置命令按钮钮是否是窗体上的是否是窗体上的默默认认按按钮钮 Enabled用于用于设设置命令按置命令按钮钮是否可用是否可用 Picture用于用于设设置命令按置命令按钮钮上要上要显显示的示的图图形形8.2.8.2.3 3 对象的方法对象的方法对象的方法就是对象可以执行的行为。对象的方法就是对象可以执行的行为。如果说,对象的属性是静态规格,那么对象的方如果说,对象的属性是静态规格,那么对象的方法便是动态操作,目的是改变对象的当前状态。法便是动态操作,目的是改变对象的当前状态。在在VBA代码中,对象方法的引用方式:代码中,对象方法的
23、引用方式:对象名对象名.方法名方法名例如,将光标插入点移入名为例如,将光标插入点移入名为Text0文本框内的文本框内的SetFocus方法引用方式为:方法引用方式为:Text0.SetFocus8.2.8.2.3 3 对象的方法对象的方法(续)(续)Access应用程序的各个对象都有一些方法可供调应用程序的各个对象都有一些方法可供调用。在用。在VBE窗口中,输入某一对象名及窗口中,输入某一对象名及“.”后弹出的后弹出的“属性及方法属性及方法”列表框中,列出了该对象可用的的属性列表框中,列出了该对象可用的的属性名或方法名。名或方法名。此外,此外,Access还提供一个重要的对象:还提供一个重要的
24、对象:DoCmd对象。它的主要功能是通过调用包含在内部的方法来实对象。它的主要功能是通过调用包含在内部的方法来实现现VBA编程中对编程中对Access的操作。的操作。例如,利用例如,利用DoCmd对象的对象的OpenReport方法来打方法来打开开“课程信息课程信息”报表的语句格式为:报表的语句格式为:DoCmd.OpenReport课程信息课程信息8.2.8.2.4 4 对象的事件对象的事件事件是事件是Access窗体或报表及其上的控件等对象窗体或报表及其上的控件等对象可以可以“辩识辩识”的动作,是对象对外部操作的响应,如在的动作,是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一
25、个程序执行时,单击命令按钮会产生一个Click事件。事事件。事件的发生通常是用户操作的结果。事件在某个对象上发件的发生通常是用户操作的结果。事件在某个对象上发生或对某个对象发生。生或对某个对象发生。Access可以响应多种类型的事件:鼠标单击、数可以响应多种类型的事件:鼠标单击、数据更改、窗体打开或关闭及许多其他类型的事件。据更改、窗体打开或关闭及许多其他类型的事件。8.2.5 8.2.5 对象的事件对象的事件(续)(续)Access数据库系统里,可以通过两种方式来处数据库系统里,可以通过两种方式来处理窗体、报表或控件的事件响应。一是使用宏对象来设理窗体、报表或控件的事件响应。一是使用宏对象来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Access 基础 应用 教程 PPT 课件 模块 VBA 程序设计

限制150内