《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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ETL工具kettle的组件--生成记录

今天介绍下kettle的一个比较实用的组件——生成记录;当我们想将一部分文本数据变成数据行,每个字段作为一个数据行的一个列,那么我们可以利用这个组件;它的位置在双击点开根据自己的实际需要进行设置当设置后,可以点击…

Linux学习笔记一

linux  kernel lib module shell tools ls -la: 显示所有文件包括隐藏文件  cat /proc/cpuinfo: 显示cpu信息 man man  /string: 向上搜索string字符串 继续按下小写n向上搜索  ?string: 向下搜索string字符串 继续按下大…

PHP中路由和rewrite的使用

一、场景介绍: 1、简化url地址,方便大家记忆 2、有利于搜索引擎优化 3、安全(让用户看不出网站的目录结构) 举例:比如我这里将main控制器中的bb方法路由到kk,这样,我们a标签请求跳转到cp.xi…

《NoSQL权威指南》导读

引言 NoSQL权威指南“没有什么会比引入新秩序更难,因为创新者必须要面对那些在旧环境中已经做得很好的对手,以及那些在新环境中做得很好的冷漠者。” ——Niccolo Machiavelli [1] 在过去的几十年,我已经通过Elsevier/Morgan Kaufmann出版社出…

PHP开发常见功能实现流程

一、pc端网站登录 1、获取并过滤用户提交的用户名和密码以及验证码 2、验证用户提交验证码和session中的验证码是否一致 3、验证用户名是否存在 4、根据用户名获取密码,并校验密码是否一致 5、密码一致,则登录成功,跳转到对应的首页 图示…

七牛直播云服务技术揭秘

以下根据七牛云首席布道师何李石现场演讲内容整理。 直播模型及其实现 一个通用的直播模型一般包括三个模块:主播方、服务器端和播放端。 首先是主播方,它是产生视频流的源头,由一系列流程组成: 第一,通过一定的设备来…

golang 标准库间依赖的可视化展示

简介 国庆看完 << Go 语言圣经 >>,总想做点什么,来加深下印象.以可视化的方式展示 golang 标准库之间的依赖,可能是一个比较好的切入点.做之前,简单搜了下相关的内容,网上也要讨论,但是没有发现直接能拿过来用的.标准库之间,是必然存在依赖关系的,不同库被依赖的程…

《HTML5 2D游戏编程核心技术》——第1章,第1.3节特别功能

本节书摘来自华章出版社《HTML5 2D游戏编程核心技术》一书中的第1章&#xff0c;第1.3节特别功能&#xff0c;作者&#xff3b;美&#xff3d; 戴维吉尔里&#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.3 特别功能 Snail Bait游戏有3个特别的功能&a…

XunSearch的安装和加入服务器开机脚本以及将目录写入系统变量

一、安装xunserach 1、cd ~ 2、wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 #下载最新xunsearch包 3、tar -xjf xunsearch-full-latest.tar.bz2 #解压xunsearch包 4、cd xunsearch-full-1.4.11/ #进入xunsearch包目录 5、sh setup.sh #执…

dubbo源码解析-zookeeper创建节点

前言 在之前dubbo源码解析-本地暴露中的前言部分提到了两道高频的面试题,其中一道dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,那发布者和订阅者还能通信吗?在上周的dubbo源码解析-zookeeper连接中已经讲到,这周解析的是另一道,即服务提供者能实现失效踢出是根据什么原…

配置mysql为主主复制步骤

mysql版本&#xff1a;mysql-5.6.24-solaris10-sparc-64bit.tar 操作系统&#xff1a;solaris 11g u10 操作用户&#xff1a;使用非root进行操作安装&#xff0c;a路服务器ip地址为192.168.1.1 b路ip地址为192.168.1.2&#xff08;应改为实际ip地址&#xff09; 1&#xff0c;安…

XunSearch的使用

一、项目的配置文件 1、要想使用xunsearch&#xff0c;首先需要进行配置文件的配置。 默认目录在app下&#xff0c;如下面的结构&#xff0c;每一个搜索项目都需要有一个ini文件进行相应的配置。 举例&#xff1a; project.name novel project.default_charset utf-8 serv…

《VMware vSphere设计(原书第2版)》——1.1 什么是设计

本节书摘来自华章出版社《VMware vSphere设计&#xff08;原书第2版&#xff09;》一 书中的第1章&#xff0c;第1.1节&#xff0c;作者&#xff1a;[美] 福布斯格思里&#xff08;Forbes Guthrie&#xff09;斯科特罗威&#xff08;Scott Lowe&#xff09;肯德里克科尔曼&…

编写高质量代码:改善Java的151个建议四(基本类型)21-30

该书籍PDF下载地址&#xff1a;http://download.csdn.net/download/muyeju/10001473 基本类型有8个&#xff1a;byte&#xff0c;short&#xff0c;int&#xff0c;char&#xff0c;long&#xff0c;double&#xff0c;float&#xff0c;boolean 21.用偶判断&#xff0c;不用奇…

ABP vNext微服务架构详细教程(补充篇)——单层模板(下)

业务代码2聚合服务聚合服务层和基础服务层相同的道理&#xff0c;在Demo.Core.Contracts增加Services文件夹&#xff0c;并添加Notifications子文件夹&#xff0c;在其中添加Dtos文件夹并添加两个DTO与基础服务对应&#xff1a;using Volo.Abp.Application.Dtos;namespace Demo…

PHP 电子商城基本数据表

1、品牌表 tp_brand CREATE TABLE tp_brand (id smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 品牌表,name varchar(60) NOT NULL DEFAULT COMMENT 品牌名称,logo varchar(80) NOT NULL DEFAULT COMMENT 品牌logo,desc text NOT NULL COMMENT 品牌描述,url varcha…

申请成为qq互联个人开发者步骤(注意事项)2018

一、官方网址 官方地址&#xff1a;https://connect.qq.com/manage.html#/ 二、申请时注意事项&#xff1a; 1、申请时的名称栏必须填写身份证上的姓名&#xff0c;否则是不给通过的 2、上传照片时&#xff0c;需要本人手持身份证&#xff0c;重点是照片中身份证上头像的位置要…

《Swift开发实战》——第1章,第1.4节启动iOS 8模拟器

本节书摘来自异步社区《Swift开发实战》一书中的第1章&#xff0c;第1.4节启动iOS 8模拟器&#xff0c;作者 李宁&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 1.4 启动iOS 8模拟器Xcode是一款功能全面的应用程序&#xff0c;通过此工具可以轻松输入、编译…

《算法导论》读书笔记--第1、2章课后题 (转)

第一章 转自http://www.cnblogs.com/batteryhp/p/4654860.html 思考题 1-1&#xff08;运行时间的比较&#xff09;确定时间t内求解的问题的最大规模。 上面是网上提供的答案。 注意点&#xff1a; 1、最左边一列的是关于n的增长情况描述&#xff0c;值得记住的是这些增长的排…

PHP开发自己的框架必备知识点

一、PHP常用的四种数据结构 简介&#xff1a;spl是php的一个标准库。 官方文档&#xff1a;http://php.net/manual/zh/book.spl.php <?php//spl&#xff08;php标准库&#xff09;数据结构/*** 栈&#xff08;先进后出&#xff09;*/ $stack new SplStack(); $stack-&g…