《Access 2007开发指南(修订版)》一一1.5 什么是数据库对象

简介:

本节书摘来自异步社区出版社《Access 2007开发指南(修订版)》一书中的第1章,第1.5节,作者: 【美】Alison Balter,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 什么是数据库对象

Access 2007开发指南(修订版)
正如前面所提及,Access的数据库由表、查询、窗体、报表、宏和模块组成。这些对象都有自己特定的功能。Access环境还包括好几个杂项对象,包括关系、数据库属性和导入/导出规格。有了这些对象,就可以创建功能强大的、用户友好的集成应用程序。图1.1所示的是Access的应用程序窗口。请注意,在“导航窗格”中列出的对象类别。以下各节对Access数据库的各个对象进行解释。
image

1.5.1 表:数据的仓库

表是应用程序的起点。不管是将数据存储在Access数据库中,还是使用链接表引用外部数据,数据库中所有其他对象都对表进行了直接或间接的引用。

要想查看一个已打开的数据库中的各个表,应从“导航窗格”下拉列表中选择“表”,如图1.2所示(请注意,这里看不到任何隐藏的表,要查看隐藏的表,必须在“导航选项”对话框中选择“隐藏对象”复选框,如图1.3所示)。如果要查看某个表中的数据,应双击要浏览的表名。

image

image

Access将表中的数据以数据表的形式显示,其中包括了表中的所有字段和记录(如图1.4所示)。注意,图中折叠了“导航窗格”,这样可使用户更好地查看表(该技巧会在本章后面介绍)。可以修改数据表的诸多属性,甚至还可以对数据表内的数据进行查找和筛选。如果某表与另外的表进行了链接(如罗斯文的客户表和订单表),就可以打开或折叠子数据表,用以查看存储在子表中的数据。这些简单的技巧不会在这本书中介绍,Access的用户手册或其他介绍关于Access的图书对此已经做了介绍,例如《Sams Teach Yourself Microsoft Office Access 24 Hours》。

image

作为开发人员,经常要查看表的设计,它是表的蓝本,也可以说是模板。为了查看表的设计,应该在打开表后单击功能区开始页面上的“视图”图标(见图1.5)。在设计视图内,可以查看和修改所有的字段名、数据类型以及字段和表的属性。在Access中,用户具有自定义表的设计能力和灵活性,第2章将讲述这些内容。

image

关系:连接表
为了较好地维护数据的完整性并简化与数据库内其他对象的操作过程,必须在数据库中的表之间定义关系。通过使用“关系”窗口可以完成这项任务。为了浏览“关系”窗口,应该选择“数据库工具”选项卡,然后在“显示/隐藏”组中选择“关系”按钮,此时,“关系”窗口就会出现,如图1.6所示。
image

在这个窗口中,可以查看和维护数据库中的关系。如果自己或者某个后续的开发人员已经设计了一些关系,但是在“关系”窗口中却看不到它们,那么在“设计”选项卡上的“关系”组中选择“所有关系”按钮,就可以将任何隐藏的表和关系显示出来。

请注意图1.6所示的关系,表之间的连接线上有一个数字1,还有一个无限符号(∞)。这说明在这些表之间有一个“一对多”关系。如果双击连接线,那么将出现“编辑关系”对话框(如图1.7所示)。在这个对话框中,可以指定表与表之间的准确关系。比如说,客户表与订单表之间的关系就是一对多的关系,它将执行参照完整性规则。也就是说,对于不存在的客户不能添加订单。请注意,“级联更新相关字段”这个复选框没有选中。这就意味着,用户不能更新客户表中某个客户的客户ID。由于“级联删除相关记录”这个复选框没有选中,因此,如果客户在订单表中有订单,那么它们不会从客户表中删除。

本书第3章将详细地讲述关系的定义和维护过程,还会介绍相关数据库设计的基础知识。不过,在设计过程中,要尽早地在概念和设计上认识到关系的存在。要想成功地设计和实现应用程序,它是必不可少的。

image

1.5.2 查询:存储应用到数据的问题和操作

Access的查询功能是非常强大的,并且具有多面性。利用选择查询可以对自己表中的数据进行查看、汇总和执行运算。利用操作查询可以添加、更新及删除表中的数据。为了运行查询,应该先从“导航”下拉列表中选择“查询”,然后双击要运行的查询,或者右键单击选择要运行的查询,然后单击“打开”按钮。在运行一个选择查询后,将出现一个数据表,其中包含了在查询中指定的所有字段和与查询规则相匹配的所有记录,如图1.8所示。在运行了一个操作查询后,Access就会执行指定的行为,例如新表的创建及对现有表的数据追加这样的行为。一般来说,这时的查询结果的数据会得到更新,因为查询的结果实际上是一个动态的记录集,又被称为动态集,它以表中的数据为基础。

image

当存储一个查询时,实际上只有其定义、布局或者说格式属性以及数据表存储在数据库中。Access为用户设计查询提供了直观的、界面友好的工具。图1.9显示出了“查询设计”窗口。要打开该窗口,应该在“导航”窗格下拉列表中选择“查询”,然后选中要修改的查询,并且单击鼠标右键,在弹出的快捷菜单中选择“设计”命令。图1.9中给出的查询是从采购订单、采购订单状态和采购价格总计表中选择数据(注意,查询是可以基于表和其他查询的)。它显示了采购订单表中的创建日期、供应商ID、运费、税款和其他几个字段,也显示了采购订单状态表中的状态,还显示了来自采购价格总计查询中的价格汇总。第4章和第12章将专门讲述查询。因为查询是绝大部分窗体和报表的基础,因此查询可以应用于数据库中其他对象的过程,有关查询的内容将遍布全书。

image

1.5.3 窗体:显示、修改和添加数据的手段

虽然可以在表的数据表视图中输入和修改数据,但是,这样做并不能很好地控制用户的行为,也不能很好地处理数据输入过程,而这时就需要使用窗体了。Access的窗体富有特色,而且灵活多样、功能强大。

要想浏览某个窗体,应该从“导航窗格”中选择“窗体”。然后双击想要浏览的窗体,或者右键单击需要浏览的窗体,在弹出的快捷菜单中选择“打开”命令。图1.10所示的是“窗体”视图中的一个窗体,该窗体实际上包括4个窗体,即1个主窗体和3个子窗体。主窗体显示的信息来自订单表,而子窗体显示的信息来自订单明细表和订单表。当用户一个一个地查看订单时,与订单相关联的订单明细会相应地显示出来。如果用户选择了“发货信息”和“付款信息”选项卡,就可以看见有关该订单的额外信息。

image

像表和查询一样,也可以在设计视图中查看窗体。为了查看窗体的设计,应该从“导航窗格”中右键单击该窗体,在弹出的快捷菜单中选择“设计”命令。图1.11所示的是设计视图中的订单明细窗体。请注意主窗体中的3个子窗体,第5章和第10章将专门讲述窗体。在应用程序的一些例子中应用窗体时也会介绍它。

image

1.5.4 报表:将数据整理成信息

在窗体中可以输入和编辑信息,但是在有了报表之后,就可以用打印机打印报表信息。图1.12所示的是一个预览模式的报表。要想预览某个报表,应该从“导航窗格”中右键单击该报表,然后在弹出的快捷菜单中选择“打印预览”命令,或者双击想要预览的报表。请注意报表中的颜色及其他内容,比如说列标题的阴影区域。报表像窗体一样,也是比较复杂的,不过它可以包含相当丰富的信息。

image

也许用户想象不到,也可以在设计视图中浏览报表,如图1.11所示。要查看某个报表的设计,应该在“导航窗格”中右键单击该报表,然后在弹出的快捷菜单中选择“设计视图”命令。图1.12所示的报表有好几个节,从图中可以看到报表页眉、页面页眉、主体、页面页脚和报表页脚,这里只给出了报表中许多节中的一些。就像窗体可以包含子窗体一样,报表也可以包含子报表。第6章和第11章将专门讨论报表。当它用于应用程序的一些例子中时,用户也会看到它的应用。

1.5.5 宏:使系统自动化的一种方式

Access中的宏与其他Office产品中的宏是不一样的。它们不能像在Microsoft Word或Excel中那样进行记录,也不能像应用于应用程序的Visual Basic(VBA)代码那样保存。对于许多在键盘、菜单和工具栏上手工执行的大多数任务,都可以用Access的宏来执行。宏可以提供条件,这样用户就可以在应用程序流中添加逻辑。

Access 2007中可使用嵌入式宏。嵌入式宏不是在“导航窗格”中作为单独的对象出现,而是作为它连接的对象的一部分。当修改一个嵌入式宏时,它不影响数据库中的任何其他宏或对象。因为用户可以阻止嵌入式宏执行某些潜在的不安全操作,所以它们是可以信任的(包括嵌入式宏的宏知识会在第7章中介绍)。

为了运行宏,应该在“导航窗格”中选择“宏”命令,然后右键单击想要运行的宏,在弹出的快捷菜单中选择“运行”命令。这样,Access就会执行宏的操作。要想查看宏的设计,应该在“导航窗格”中右键单击该宏,然后在弹出的快捷菜单中选择“设计视图”命令。图1.13中给出4列宏。利用第1列可以指定条件,宏内第2列的操作只有在这个操作的条件为真时才会执行,第3列显示了该行宏的参数,利用第4列可以给宏添加注释。宏设计窗口的下半部分用来指定用于选定操作的参数。在图1.13中,选定的操作是OpenForm,它接收6个参数,即“窗体名称”、“视图”、“筛选名称”、“Where条件”、“数据模式”和“窗口模式”。

image

1.5.6 模块:应用程序开发过程的基础

模块(Modules)是任何一个应用程序的基础,利用它可以建立函数库,并将其用于整个应用程序之中。模块一般是由子程序和函数构成的。函数通常要返回一个值,而子程序则不会。通过使用代码模块可以做以下工作:

执行错误处理;
声明和使用变量;
遍历和操作记录集;
调用Windows API和其他库函数;
创建和修改系统对象,如表和查询;
执行事务处理;
完成许多宏没有的功能;
测试和调试复杂的过程;
创建系统库数据库。
这些只是使用模块可以完成的一部分任务。为了查看一个现有模块的设计,应该在“导航窗格”中右键单击想要修改的模块,然后在弹出的快捷菜单中选择“设计视图”命令打开“模块设计”窗口,如图1.14所示。在图1.14中的全局代码模块包含通用声明节和5个函数。图中可见的函数名为CreateInvoice。第8章和第13章将对模块和VBA进行专门的讨论,不过,这本书的各章均会对它们有所论述。
image

相关文章
|
3月前
|
SQL Java 数据库连接
Connection(数据库连接对象)
Connection(数据库连接对象)
28 0
|
5月前
|
数据库
如何在web.config文件中配置连接Access数据库?
如何在web.config文件中配置连接Access数据库?
34 0
|
6月前
|
存储 关系型数据库 MySQL
简述MySQL数据库中九种基本对象的定义
简述MySQL数据库中九种基本对象的定义。
75 0
|
8月前
|
存储 SQL 关系型数据库
数据库对象
数据库对象
114 0
|
1月前
|
SQL 数据库 OceanBase
OceanBase数据库的回收站功能是为了短暂保存被删除的数据库对象
【2月更文挑战第21天】OceanBase数据库的回收站功能是为了短暂保存被删除的数据库对象
19 7
|
1月前
|
SQL 存储 数据可视化
access sql 数据库,Access SQL
access sql 数据库,Access SQL
|
2月前
|
Java 数据库连接 数据库
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
|
2月前
|
开发框架 安全 .NET
某教程学习笔记(一):07、数据库漏洞(access注入)
某教程学习笔记(一):07、数据库漏洞(access注入)
18 0
|
2月前
|
SQL 数据库 OceanBase
OceanBase数据库的回收站功能是为了短暂保存被删除的数据库对象
OceanBase数据库的回收站功能是为了短暂保存被删除的数据库对象
95 7
|
8月前
|
SQL 关系型数据库 MySQL
使用IntelliJ IDEA连接数据库,快速创建实体类对象,自动生成get,set,toString方法以及无参有参构造器
使用IntelliJ IDEA连接数据库,快速创建实体类对象,自动生成get,set,toString方法以及无参有参构造器