数据库的传统定义是以一定的组织方式存储的一组有关的数据项的集合。 A c c e s s由于其全 环绕数据库文件结构而在桌面数据库开发应用中显得与众不同。在一个单个的 Access .mdb中, 可以包含有数据对象(表、索引和查询)和应用对象(窗口、报表、宏和 V B A代码模块)。因此, 你可以创建一个完整的A c c e s s数据库应用并将之存储在一个单个的 . m d b文件中。A c c e s s的这种 “包罗万象”的. m d b文件结构使得数据库应用的创建和发布变得更为简单了。 A c c e s s数据库可以将以下元素包含在单个的 . m d b数据库文件中: • 表 以行列格式存储数据项,这一点与电子数据表应用极为相似。一个 A c c e s s数据库可 以包含有多达32 768个对象 (可以是表、窗体、报表、查询等等的组合 ),并且只要你有 充足的资源可用,则可以同时打开多达 1 024个表。你可以从其他应用 (例如 d B A S E、 F o x P r o和P a r a d o x )、客户/服务器数据库 (例如 Microsoft SQL Server和Access 2000中包含 的新Microsoft 数据引擎M S D E )以及电子数据表应用(例如 Microsoft Excel和Lotus 1-2-3) 中导入表。你还可以将其他类型的数据库表、格式化文件 ( E x c e l工作表和A S C I I文本) 以 及其他 A c c e s s数据库链接到A c c e s s数据库。第7章“链接、导入和导出表”中讲解了如何 在Access 2000中使用其他数据源。 • 查询 显示从多个表(最多可以为1 6个)中选取的数据。借助于查询,你可以指定如何表示 数据,选择构成查询的表,并可以从所选表中提取多达 2 5 5个特定的字段(列)。你可以 通过指定查询中数据必须满足的标准或者说条件来决定哪些数据包含在显示中。第二部 分“最大限度地利用查询” 解释了如何设计Access 查询。 • 窗体 用于显示包含在表或者查询中的数据,向之添加新的数据以及更新或者删除现有 的数据。你可以在窗体中加入图片和图形,并且如果你有声卡的话,你甚至可以在窗体 中包含叙述、音乐和活动视频。子窗体是包含在主窗体中的窗体。在第 1 2章“创建和使 用窗体”和第 1 3章“设计自定义多表窗体”中,我们将学习如何设计窗体;在第 1 9章 “往窗体和报表添加图表和图形”中,我们将学习如何在窗体中使用图形。 Access 2000窗体还可以在类模块中包含 V B A代码,为窗体和窗体上的控件提供事件处理 子过程。第4章 使用Access数据库和表 73 下载 • 报表 以几乎你想使用的任何形式打印表或者查询中的数据。 A c c e s s允许你向报表添加 图形,这样你便可以从 A c c e s s数据库打印一份完整而清晰的产品目录了。 A c c e s s的报表 能力比起其他关系数据库管理应用,包括那些为小型机和大型机而设计的应用在内,其 报表处理显得更为灵活。与窗体相似,你也可以在 Access 2000 报表中包含V B A事件处理 子过程。第1 4章“打印基本报表和邮件标签”和第 1 5章“高级报表”两章对如何创建报 表进行了详细的介绍。第 2 8章“用VBA 6.0响应事件”描述了有关编写存储在窗体和报 表背后的事件处理V B A代码的具体细节。 • 宏 用于Access 操作的自动化。在早期的Access版本中,宏相当于其他应用(如xBase)所 需要的程序设计代码,用于执行特殊的操作与响应用户激发的事件,例如单击命令按钮。 现在宏已经过时了,Access 2000之所以支持宏完全是为了能够与用A c c e s s的早期版本所创 建的数据库应用保持兼容。Microsoft建议你在Access 2000数据库中使用VBA程序代码进行 事件处理。在将来的Access版本中极有可能取消对宏的支持而完全采用VBA程序设计。 • 模块 在模块中编写V B A代码的目的主要有两个,创建在窗体、报表和查询中使用的自 定义函数,提供在所有类模块中都可以使用的公共子过程。通过向数据库添加 V B A代码, 你便可以创建出带有自定义菜单、工具栏和其他功能的完善的数据库应用。 第2 6章“编写V B A代码”描述了如何编写V B A代码。 • 关系 定义数据库中一个表和另一个表之间的联系。关系并没有出现在“数据库”窗口 的对象栏中。为当前的数据库打开“关系”窗口时,需要选择“工具”、“关系”。 • 页 即数据访问页 ( D A P ),通过页可以在由intranet 服务器交付的We b页面上显示和编辑 Access 数据。第1 8章“设计数据访问页”中提供了有关D A P的更为详尽的信息。 D A P的简要介绍请参见1 . 2节“用O ffice We b组件部署数据访问页”。 注意 Access数据项目 (ADP)引进了三个新的对象类—视图(与查询相似),存储过程 (也与查询 有关)和数据库图表 (与关系相似)。A D P只使用OLE DB和ActiveX 数据对象( A D O )连接到M S D E 或者SQL Server 6.5+数据库,OLE DB和ActiveX 数据对象都是在Access 2000中新引入的。具体 的细节请参见第2 5章“创建A c c e s s数据项目”。第2 7章“理解通用数据访问、 OLE DB和A D O” 详细地介绍了这些新的Access 2000 特征。 关于A D P的介绍请参见1 . 3节“为Microsoft 数据引擎创建A c c e s s数据项目”。 A c c e s s数据库更为合适的定义是一组相关数据项的集合,加上一组可选的选择、显示、更 新数据以及形成报表的方法。这个定义强调了 A c c e s s和其他管理应用的重要区别。甚至客户 / 服务器数据库系统,例如Microsoft SQL Server,也在一个单个的数据库中包含所有相关的表, 但是它没有在数据库中包含窗体和报表的等价物。你必须使用另一个应用,叫做前端来显示、 编辑存储在客户/服务器数据库中的数据和形成数据报表。你可以通过从客户 /服务器数据库到 A c c e s s数据库的链接表,用 A c c e s s为客户/服务器数据库创建前端。为客户 /服务器数据库创建 前端是A c c e s s在中大型公司的主要应用之一。 提示 一种较为合理的数据库应用开发方法是在一个Access数据库(.mdb)文件 中维护存储应用数 据的表,而在另一个单独的. m d b文件中维护应用的其余对象,例如窗体和报表。为了简化问题, 本章使用的Northwind Traders 示例数据库是一个只有单个. m d b文件的自包含应用。第7章和第2 4 章“多用户网络应用的安全”描述如何使用或者创建单独的 .mdb文件来存储数据和应用对象。 本章向你介绍 A c c e s s数据库和表—A c c e s s应用的基本元素。本书中很多地方都使用了 A c c e s s应用这个术语,它是一个具有下列特征的A c c e s s数据库: • 它包含查询、窗体、报表和宏。能够以一种更有意义的方式显示数据和根据需要对数据进行更新。本书将这些元素叫做应用对象。 • 它不需要数据库用户了解如何设计它的任何元素。数据库的所有元素在应用的设计阶段 就已经完全预定义好了。在大多数情况下,你都会限制其他用户有意或无意地改变应用 的设计。 • 它由V B A代码实现操作的自动化,所以用户可以从命令按钮或者自定义菜单中进行选择, 而不用使用在“数据库”窗口中的列表。 学习如何创建A c c e s s应用的最简单的方法便是修改由A c c e s s提供的Northwind Traders 示例 数据库。在后续的章节中,我们将向 Personnel Actions应用添加新的功能,直到能够完成一种 完善的添加和编辑Personnel Actions 数据的自动化方法。因此,你至少应该按顺序阅读到第 1 5 章“高级报表”,因为后续的例子是建立在你前期的工作上的,在你每次遇到 Personnel Actions 应用时都要按部就班地执行其练习例子。