第 10章 Access模块和应用程序设计本章重点本章主要是学习 Access模块的基础知识,包括模块的概念和分类,在熟悉 VB编程窗口和 VB语法特点的基础上,学习模块的创建方法 。 最后学习使用数据库向导和自定义方法创建数据库应用程序 。
第 10章 Access模块和应用程序设计
10.1 模块的基本知识
10.2 创建模块
10.3 模块应用实例
10.4 VISUAL BASIC 编程简介
10.5 Access数据库应用程序设计
10.6 习题
10.1 模块的基本知识
通过上一章对宏的学习,我们了解到可以利用宏来执行一系列简单的操作。但是如果要对数据库对象进行更复杂、更灵活的控制,就需要通过编程来实现。在 Access中,编程是通过模块对象实现的。
利用模块可以将各种数据库对象联结起来,从而使其构成一个完整的系统。它的功能比宏更强大,设计也更为灵活。
10.1.1 模块的概念
模块就是将 Visual Basic for Applications( VBA)
声明、过程和函数结合起来,作为一个单元进行保存的集合。
模块是 Access的对象之一,用户可以用它来存放
Visual Basic代码。模块是由一个或多个过程组成的,其中每个过程都是一个函数过程或子程序,它们各实现一种或多种功能。过程是包含 Visual Basic代码的单位,它包含一系列的语句和方法,以执行特定的操作。声明则是由
Option语句配置模块中整个编程环境。
10.1.2 模块的分类
模块可分成两种基本类型:类模块和标准模块。
1.类模块
类模块是可以定义新对象的模块。新建一个类模块,
也就是创建了一个新对象。模块中定义的过程将变成该对象的属性或方法。例如,报表模块和窗体模块等,报表模块与某以报表相关联,窗体模块与一特定窗体关联,它们都含有事件过程,由事件驱动模块,而过程相应事件,进行处理。
2.标准模块
在整个数据库中,可用的函数模块和子程序称为标准模块。标准模块包含通用过程和常用过程。通用过程是不与任何对象相关联的过程。常用过程是可以在数据库任何地方执行的与其他对象无关的过程。
BACK
10.2 创建模块
10.2.1 创建类模块
( 1)在设计视图中打开相应的窗体,选择要执行事件的控件,单击,属性,按钮;或者单击鼠标右键,打开该控件的属性表,单击,事件,选项卡,如图 10-1所示。
图 10-1 属性表中的,事件,选项卡
( 2)选择要创建事件过程的属性框,如,单击,,,双击,等,表示在单击或双击后将要执行的事件过程。
( 3)现在选择,单击,属性框右边的 【 生成器 】 按钮,
打开,选择生成器,对话框,如图 10-2所示。在此对话框中,选择,代码生成器,。
图 10-2,选择生成器,对话框
( 4)单击 【 确定 】 按钮,打开,模块,窗口,系统自动生成对应事件过程的过程头和过程尾,如图 10-3所示,
可以在,模块,窗口中输入要完成的事件。
图 10-3,模块,窗口
10.2.2 创建标准模块
要创建标准模块,可以在,数据库,窗口的,模块,
选项卡中,单击 【 新建 】 按钮。此时弹出如图 10-4所示的,模块,窗口。在此窗口中输入编写标准模块的代码。
由于事件过程不与任何窗体或报表有直接关系,因此都要用户自己编写。
图 10-4 标准模块的,模块,窗口BACK
10.3 模块应用实例
在这一节中我们学习如何创建类模块,帮助大家加深对模块的认识。
【 例 10-1】 在,学籍管理数据库,中创建一个窗体类模块,在此窗体中设置一个命令按钮,单击该按钮,可以打开已有的窗体,比如,学生成绩,窗体,并将 Form
对象变量指向该窗体,如图 10-5所示。
图 10-5 类模块的使用
( 1)在,数据库,窗口中,单击 【 窗体 】 按钮,并单击
【 新建 】 按钮,打开,新建窗体,对话框。选择,设计视图,,然后单击 【 确定 】 按钮,打开窗体的设计视图。从工具箱中选择,命令按钮,,将其放置在窗体中合适的位置,如图 10-6所示。
图 10-6 选择,命令按钮,
( 2)单击工具栏中的,属性,按钮。在弹出的属性表中,
设置该命令按钮的属性。
在,格式,选项卡的,标题,文本框中,将其标题设置为,查看学生成绩,,如图 10-7所示。
在,事件,选项卡的,单击,右边的 【 生成器 】 按钮。在弹出的,选择生成器,对话框中,选择,代码生成器,,如图 10-2所示。
图 10-7 设置命令按钮标题
系统将弹出 Microsoft Visual Basic编辑窗口,在
,Private Sub Command0_click()”和,End Sub”之间输入代码:
– Dim frm As Form
– DoCmd.OpenForm "学生成绩 "
– Set frm = Forms!学生成绩
如图 10-8所示。然后关闭 VB窗口。
( 3)切换到窗体视图。单击,查看学生成绩,命令按钮,
则打开已有的,学生成绩,窗体,并且光标自动指向该窗体,如图 10-5所示。这表示已成功地建立了窗体模块的过程。
图 10-8 Microsoft Visual Basic编辑窗口
BACK
10.4 Visual Basic 编程简介
如果想要全面掌握 Access中使用模块的方法,
还必须要进一步学习 Visual Basic编程技术,使用它可以动态地创建、删除和修改数据及对象。因为
Visual Basic程序设计是一门独立的课程,在此,仅简单介绍一些常用的知识。
10.4.1 Visual Basic 窗口
在 VB主窗口中,可以打开 4个系统窗口,如图 10-8
所示,包括,工程资源管理器,窗口,,属性,窗口、
,对象浏览器,窗口及,模块代码编辑,窗口。另外,通过,视图,菜单,VB还可以打开,立即窗口,,,本地窗口,和,监视窗口,,如图 10-9所示。除了,模块代码编辑,窗口外,其他窗口都可以在显示和隐藏之间相互转换。
图 10-9 VB的窗口
在,工程资源管理器,窗口的标题栏下,从左到右分别是,查看代码,,,查看对象,和,切换文件夹,三个按钮。在,查看代码,中可以查看、修改程序代码;单击,查看对象,按钮,系统将切换到 Access 2002主窗口,
以,设计,视图打开所选择的数据库对象;,切换文件夹,
按钮的作用是在分类与不分类显示模块之间进行切换。
,属性,窗口用于显示所选定对象在设计时的属性以及当前的设置;在,立即窗口,中输入一行代码,通过按回车键可以运行该代码,但是在,立即窗口,中代码是不能存储的;,本地窗口,可以自动显示出当前过程中的变量声明及变量值;当工程中有定义监视表达式时,,监视窗口,就会自动出现,在此窗口中可以看出所有监视变量的值。
10.4.2 Visual Basic语法特点
Visual Basic中的语句是一个完整的命令。它可以包含关键字、运算符、变量、常数以及表达式。它的语句可以分为三种类型:
( 1)声明语句。通过声明语句可以命名和定义过程、变量、数组以及常数,并且指定一个数据类型。包括定义它们的范围,此范围取决于声明位置以及用什么关键字来声明它。例如:
– Sub Command0-Click() '定义一个过程
– Dim strName As String '声明一个字符串
– Dim MyVar As Variant '声明一个变量
– Dim MyArray(3,4) As Integer '声明一个数组
– Const conAge As Integer=30 '声明一个常量并且指出它的数值是 30
– End Sub
( 2)赋值语句。赋值语句用于指定一个值或表达式给变量或常数。它通常包含一个等号( =)。例如:
– Sub Command1-Click()
– Dim strName As String
– StrName=InputBox("What is your name?")
– MsgBox "Your name is "& strName
– End Sub
在过程中指定 InputBox函数的返回值赋给变量
strName。
( 3)可执行语句。可执行语句是过程的主体,过程所完成的功能靠可执行语句来实现。一个可执行的语句就是
Visual Basic的一个动作,它可以执行一个方法或函数,
并且可以循环或从代码块中分支执行。可执行语句通常包含数学或条件运算符。例如:
– Sub Command2-Click()
– Dim num As Integer
– If num<0 Then
– num=num+1
– Else
– Num=num-1
– End If
– MsgBox "The calculation is over!"
– End Sub
在此例中,If… Then… Else 语句用来检查 num的值,
如果 num> 0,则加 1;如果 num< 0,则减 1。最后用
MsgBox函数来显示,计算已结束,信息。 MsgBox函数可用来显示一个固有的 Visual Basic对话框。
BACK
10.5 Access数据库应用程序设计
Access数据库应用程序是用 Microsoft Access数据库管理系统建立的应用程序。从本质上来说,Access数据库应用程序就是 Access建立的数据库,它也是由表、
查询、窗体、报表、宏和模块等对象构成。这些对象可以存储在一个或多个 Access数据库文件(,MDB)中,形成一个有机的整体,从而自动完成特定的任务。
Microsoft Access是一个数据库管理系统,它是建立数据库或数据库应用程序的工具。
一般地,在开发完一个 Access 应用程序以后,最好将它们分成两个数据库,一个是应用程序数据库,另一个是存储数据的数据库,两者通过链接表建立联系。这样可以提高应用程序的性能,便于系统的维护和升级。
10.5.1 用数据库向导创建数据库应用程序设计
【 例 10-2】 用向导创建一个如图 10-10所示的,联系管理,数据库的主切换面板。在此面板中,提供了一些按钮和按钮功能的说明文本,用户可以很方便地打开
,联系管理,数据库中的其他窗体和报表等对象。
图 10-10,联系管理,数据库的主切换面板
( 1)启动 Microsoft Access,单击,数据库,工具栏上的,根据模板新建,按钮,出现,新建,对话框,如图
10-11所示。
图 10-11,新建,对话框
( 2)单击,数据库,选项卡,选择,联系管理,图标。
单击 【 确定 】 按钮,在如图 10-12所示中指定新建数据库的名称及其保存的位置。
图 10-12 指定新建数据库的名称及其保存的位置
( 3)单击 【 创建 】 按钮,弹出如图 10-13所示的,数据库向导,对话框一,列出,联系管理,数据库所包括的信息。
图 10-13,数据库向导,对话框一
( 4)单击 【 下一步 】 按钮,弹出如图 10-14所示的,数据库向导,对话框二,在此可选择要添加的字段(斜体字显示的字段)。
图 10-14,数据库向导,对话框二
( 5)单击 【 下一步 】 按钮,弹出如图 10-15所示的,数据库向导,对话框三,在此确定窗体的显示样式。
图 10-15,数据库向导,对话框三
( 6)单击 【 下一步 】 按钮,弹出如图 10-16所示的,数据库向导,对话框四,在此确定打印报表所用的样式。
图 10-16,数据库向导,对话框四
( 7)单击 【 下一步 】 按钮,弹出如图 10-17所示的,数据库向导,对话框五,在此确定数据库的标题。
图 10-17,数据库向导,对话框五
( 8)单击 【 下一步 】 按钮,弹出如图 10-18所示的,数据库向导,对话框六,在此确定构建完数据库之后是否要启动数据库。
( 9)单击 【 完成 】 按钮,系统开始创建,联系管理,数据库。然后自动打开,主切换面板,,如图 10-9所示。
由此,数据库向导创建了多个数据库对象(表、窗体和报表等),并将它们有机地连接成一个整体,形成了一个数据库应用程序。
图 10-18,数据库向导,对话框六
10.5.2 自定义创建数据库应用程序
【 例 10-3】 为已建立的,学籍管理数据库,创建一个应用程序。它的主切换面板如图 10-19所示,使得每次打开
,学籍管理数据库,时,会自动打开这个主切换面板,而且,所有的按钮都能够完成相应的操作。
图 10-19 主切换面板 ——启动窗体
( 1)按照第 6章创建窗体的方法,建立一个如图 10-19所示的启动窗体,包含标签框,在此可查看基本信息,,6
个命令按钮,学生信息,,,学生成绩,,,学习课程,,
,打印报表,,,关闭启动窗体,和,退出 Microsoft
Access”。
( 2)按照第 9章创建宏的方法,将窗体中各个命令按钮与各个独立的宏对象连接在一起,使之形成一个有机的整体。
提示:用,OpenTable”操作创建打开数据表宏;用
,Close”操作创建关闭当前窗体;用,Quit”操作创建
,退出 Microsoft Access”宏;用,PrintOut”操作创建
,打印报表,宏。
( 3)建立一个主切换面板,将它设置成启动窗体,并设置启动选项。
打开,学籍管理数据库,,从,工具,菜单中选择
,启动,命令,弹出,启动,对话框,如图 10-20所示。
图 10-20,启动,对话框
在,应用程序标题,文本框中输入,学籍管理数据库,,作为在应用程序窗口标题栏显示的文字。
在,应用程序图标,文本框中可选择制作一个图标文件(,ICO文件),用来代替 Access默认的图标文件。
在,显示窗体 /页,中指定在打开数据库时,能够自动打开数据库中的某一个指定窗体,如刚才建立的,启动,
窗体。
在,菜单栏,和,快捷菜单栏,中可以将自己创建的自定义菜单指定为系统的默认菜单栏。
再次打开,学籍管理数据库,时,系统会自动打开
,启动,窗体面板,如图 10-19所示,并可以通过启动窗体上的各个按钮来进行相应的操作。
BACK
10.6 习题
思考题
1.模块的作用是什么?
2.模块分成哪几种类型?它们各自的特点是什么?
3.在模块中建立命令按钮和在窗体中添加命令按钮的作用是否相同?
BACK