第9章模块与VBA程序设计

上传人:飞*** 文档编号:51715327 上传时间:2018-08-16 格式:PPT 页数:235 大小:4.77MB
返回 下载 相关 举报
第9章模块与VBA程序设计_第1页
第1页 / 共235页
第9章模块与VBA程序设计_第2页
第2页 / 共235页
第9章模块与VBA程序设计_第3页
第3页 / 共235页
第9章模块与VBA程序设计_第4页
第4页 / 共235页
第9章模块与VBA程序设计_第5页
第5页 / 共235页
点击查看更多>>
资源描述

《第9章模块与VBA程序设计》由会员分享,可在线阅读,更多相关《第9章模块与VBA程序设计(235页珍藏版)》请在金锄头文库上搜索。

1、 为了能解决一些实际 开发活动中的复杂的数据 库应用问题,Access数据库 系统提供了“模块”对象 来解决此类难题。本章主 要介绍Access数据库的模块 的基本概念及VBA语言的 程序设计。模块与VBA程序设计 第9章 模块与VBA程序设计 本章主要内容退出9.1 模块概述9.2 VBA程序设计概述9.3 VBA编程环境VBE窗口9.4 VBA编程基础9.5 VBA程序语句9.6 VBA中的常用操作方法9.7 VBA 程序调试和错误处理9.1 模块概述模块是 Access 数据库中的一个数据库对象 ,它以VBA(Visual Basic for Application)语 言为基础编写。通

2、俗来说,模块是 Access 数据 库中用于保存VBA程序代码的容器。模块基本上 是由声明、语句和(Sub 和 Function)过程组成的集合,它们作为一个已命名的单元存储在一 起,对 VBA程序代码进行组织。Access有两种类型的模块:标准模块和类模块。9.1.1 模块类型1标准模块标准模块包含与任何其他对象都无关的常规过程,以及可以从数据库任何位置运行的经常使用的过程 。在标准模块中,可以放置希望供整个数据库的其他 过程使用的Sub过程和 Function 过程。标准模块中的公共变量或公共过程具有全局特性,其作用范围在整个应用程序里,生命周期是伴随着 应用程序的运行而开始、关闭而结束。

3、9.1.1 模块类型(续)类模块是可以包含新对象的定义的模块。一个类的每个实例都新建一个对象。窗体模块和报表模块都是类模块,它们从属于各自的窗体和报表。窗体模块和报表模块通常都含有事件过程, 而过程的运行用于响应窗体或报表上的事件。窗体模块和 报表模块中的过程可以调用标准模块中已经定义好的过程 。为窗体或报表创建第一个事件过程时,Access 将自动创建与之关联的窗体模块或报表模块。窗体模块和报表模块具有局部特性,其作用范围局限在所属窗体或报表内部,而生命周期则是伴随着窗体或报 表的打开而开始、关闭而结束。9.1.2 模块的组成模块是装着 VBA 代码的容器。一个模块包含一个声明 区域,包含一

4、个或多个过程。如图9-1所示。过程是模块的单元组成,用 VBA 代码编写而成。过程 分为 Sub 过程和 Function 过程两种类型。1声明区域声明部分主要包括:Option声明、变量或常量或自定义 数据类型的声明。模块中可以使用的 Option 声明语句包括: (1)Option Base 1声明模块中数组下标的默认下界为1,不声明则默认下 界为 0。 (2)Option Compare Database声明模块中需要字符串比较时,将根据数据库的区域 ID 确定的排序级别进行比较;不声明则按字符 ASClI 码进行比 较。 (3)Option Explicit强制模块用到的变量必须先进行

5、声明。 此外,有关变量或常量的声明的语句格式将在9.4节介绍。2Sub过程Sub过程又称为子过程。执行一系列操作,无返回值。Sub过程的定义格式如下: Sub 过程名(形参列表)VBA程序代码End SubVBA 提供了一个关键字 Call,可以调用该子过程。此外,可以引用该过程名来调用该子过程,此时,过 程名后不能带有一对圆括号。3Function过程Function 过程又称为函数过程。执行一系列操作,有返回值。Function过程的定义格式如下: Function 过程名(形参列表)VBA程序代码End Function函数过程不能使用 Call 来调用执行,需要直接引用函数过程名并必须

6、后带一对圆括号。9.2 VBA程序设计概述VB(Visual Basic)是一种面向对象程序设计语言,微软公司将其引用到其他常用的应用程序中,例如 ,在 Office 的成员Word、Excel、Access 中,这种夹在应用程序中的 Visual Basic 版本称之为 VBA(Visual Basic for Application)。VBA 是 VB 的子集。Access 中使用的编程语言是 VBA语言。当某些操作不能用其他Access对象实现或实现起来很困难时,就可以在模块中编写VBA程序代码,以完成这些复杂任务。Access内部提供了功能强大的向导机制,能处理基本的数据库操作。在此基

7、础上再编写适当的程序代码,可以极大的改善程序功能。VBA是面向对象的程序设计语言。面向对象程序设计是一种以对象为基础,以事件来驱动对象的程序设计方法。l对象的属性l对象的方法l对象的事件l事件过程9.2.1 对象和对象名对象是 VBA 应用程序的基础构件。在开发一个Access 数据库应用系统时,必须先建立各种对象,然后围绕对象进行程序设计。在Access中,表、查询、窗体、报表等是对象,字段、窗体和报表中的控件(如标签、文本框、按钮等)也是对象。每个对象均有名称,称为对象名。每个对象都有其属性、方法、事件等。对象有效的名称必须符合 Access 的标准命名规则,窗体、报表、字段等对象的名称不

8、能超过64个字符,控件对象名称长度不能超过255个字符。9.2.1 对象和对象名(续)对于未绑定控件,默认名称是控件的类型加上一个 唯一的整数。例如,对于新建的文本框控件,其默认名 称为:Text0、Text1 等,以此类推。对于绑定控件,如果通过从字段列表中拖放字段来 创建控件,则对象的默认名称是记录源中字段的名称。在“设计视图”(如窗体“设计视图” )窗口中,如果 要修改某个对象的名称,可在该对象“属性”对话框中, 对“名称”属性赋予新的对象名称。注意:同一窗体、报表或数据访问页上的控件的名 称不能相同。但不同窗体、报表或数据访问页上的控件 的名称可以相同。9.2.1 对象和对象名(续)A

9、ccess数据库由表、查询、窗体、报表、页、宏和模块对象列表构成,形成不同的类。9.2.2 对象的属性对象属性是描述对象的特征。 对象的每个属性都有一个默认值,这在“属性”对话框中可以看到。如果不改变该值,应用程序就使用 该默认值,如果默认值不能满足要求,就要对它重新 设置。在VBA代码中,对象属性的引用方式:对象名.属性名Access中“对象”可以是单一对象,也可以是对 象的集合。例如,Label0.caption 中的Label0表示 一个“标签”对象,Reports.Item(0) 表示报表集合中的第一个报表对象。9.2.2 对象的属性(续)在可视化的“设计视图”(如窗体“设计视图” )

10、窗口中,若要 查看或设置某一对象的属性,可以通过“属性”对话框来进行,不 过此时在“属性”对话框中列出的属性名是中文的,如图9-2所示。 但在VBE窗口中,输入某一对象名及“.”后弹出的“属性及方法”列 表框中的属性名或方法名全都是英文的,如图9-3所示。英文的中文的表9-1 窗体常用的格式属性窗体常用格式属性作用 AutoCenter用于设设置窗体打开时时,是否放置屏幕中部 BorderStyle用于设设置窗体的边边框样样式 Caption用于设设置窗体的标题标题 内容 CloseButton用于设设置是否在窗体中显显出关闭闭按钮钮 ControlBox用于设设置是否在窗体中显显出控制框 M

11、inMaxButtons用于设设置是否在窗体显显出最小化和最大化按 钮钮 NavigationButtons用于设设置是否显显出导导航按钮钮 Picture用于设设置窗体的背景图图片 RecordSelector用于设设置是否显显出记录选记录选 定器 ScrollBars用于设设置是否显显出滚动滚动 条表9-2 窗体常用的数据属性窗体常用数据属性作用RecordSource用于设设置窗体的数据来源OrderBy用于设设置窗体中的记录记录 的排序方式AllowAdditions用于设设置窗体中的记录记录 是否可以添加AllowDeletions用于设设置窗体中的记录记录 是否可以删删除Allow

12、Edits用于设设置窗体中的记录记录 是否可以编辑编辑AllowFilters用于设设置窗体中的记录记录 是否可以筛选筛选表9-3 文本框常用的属性文本框属性作用BackColor用于设设置文本框的背景颜颜色, 如设设置蓝蓝色:text0.BackColor =RGB(0, 0, 255)ForeColor用于设设置文本框的前景(字体)颜颜色 BorderColor用于设设置文本框的边边框颜颜色 BorderStyle用于设设置文本框的边边框样样式Enabled用于设设置文本框是否可用Name用于设设置文本框的名称Locked用于设设置文本框是否可编辑编辑Value用于设设置文本框中显显显显

13、示的内容Visible用于设设置文本框是否可见见Text用于设设置在文本框中显显示的文本 (要求文本框先获获得焦点)InputMask用于设设置文本框的输输入掩码码。若将InputMask 属性设为设为 “ 密码码”,则则在该该文本框中键键入的任何字符都将以原字符保 存,但显显示为为星号(*)。表9-4 命令按钮常用的属性命令按钮钮常用属性作用Caption用于设设置命令按钮钮上要显显示的文字Cancel用于设设置命令按钮钮是否也是窗体上 的“取消”按钮钮Default用于设设置命令按钮钮是否是窗体上的 默认认按钮钮Enabled用于设设置命令按钮钮是否可用Picture用于设设置命令按钮钮上

14、要显显示的图图形9.2.3 对象的方法对象的方法就是对象可以执行的行为。如果说,对象的属性是静态规格,那么对象的方法便是动态操作,目的是改变对象的当前状态。在 VBA 代码中,对象方法的引用方式:对象名.方法名例如,将光标插入点移入名为 Text0 文本框内的SetFocus 方法引用方式为:Text0.SetFocus9.2.3 对象的方法(续)Access应用程序的各个对象都有一些方法可供调 用。在VBE窗口中,输入某一对象名及“.”后弹出的“属 性及方法”列表框中,列出了该对象可用的的属性名或方法名。此外,Access还提供一个重要的对象:DoCmd对象。它的主要功能是通过调用包含在内部

15、的方法来 实现 VBA 编程中对Access的操作。例如,利用DoCmd对象的OpenReport方法来打 开“课程信息”报表的语句格式为:DoCmd.OpenReport “课程信息“9.2.4 对象的事件事件是 Access 窗体或报表及其上的控件等对象 可以“辩识”的动作,是对象对外部操作的响应,如在 程序执行时,单击命令按钮会产生一个Click事件。事件的发生通常是用户操作的结果。事件在某个对象上 发生或对某个对象发生。Access 可以响应多种类型的事件:鼠标单击、数据更改、窗体打开或关闭及许多其他类型的事件。9.2.5 对象的事件(续)Access 数据库系统里,可以通过两种方式来

16、处理窗体、报表或控件的事件响应。一是使用宏对象来 设置事件属性;二是为某个事件编写 VBA 代码过程,完成指定动作,这样的代码过程称为事件过程或事件 响应代码。每个对象都有一系列预先定义的事件集。例如,命令按钮能响应单击、获取焦点、失去焦点等事件, 可以通过属性对话框中的“事件”选项卡查看。实际上,Access窗体、报表或控件的事件有很多 ,其中一部分对象事件如表9-5、表9-6、表9-7、表9-8 、表9-9所示。表9-5 窗体对象的部分事件事件说说明load窗体加载时发 生事件Unload窗体卸载时发 生事件Open窗体打开时发生事件Close窗体关闭时发 生事件Click窗体单击时发 生事件DblClick窗体双击时发 生事件MouseDown窗体鼠标按下时发生事件KeyPress窗体上键盘击键时发 生事件KeyDown窗体上键盘按下键时发 生事件注意:首次打开窗体时,下列事件将按如下顺序发生: Open事件 Load事件 Resize事件 Activate事件 Curr

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号