Access数据库讲义.doc_第1页
Access数据库讲义.doc_第2页
Access数据库讲义.doc_第3页
Access数据库讲义.doc_第4页
Access数据库讲义.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章Access数据库系统概述8.1 数据库系统基础知识8.1.1 数据库系统的组成一、数据库的发展数据库技术是计算机科学技术的一个重要分支。随着计算机的发展,数据库技术经历了三个阶段:人工管理阶段、文件管理阶段、数据库管理阶段。人工管理阶段,数据不保存,用时直接输入,算完后结束。文件系统管理阶段,数据单独保存在文件中(如第六章的文件),这种形式的数据共享只能以文件为单位;缺点是数据大量重复,同时给数据维护带来很多麻烦,为了解决这样的问题,出现数据的统一管理,达到数据共享的目的,产生和发展了数据库技术。二、数据库的特点数据库是为满足多个应用系统的需要、按照一定的结构在计算机中建立起来的相关数据集合。数据库中的数据是结构化的,数据是面向全局的,数据是可以共享的。在数据库系统管理阶段,数据以数据库为中心,数据与程序之间是一对多的关系,具有数据重复少,独立性高,完整性、并发性和可恢复性等优点。三、数据库系统的组成从广义上讲,一个数据库系统由计算机硬件(物理设备)、系统软件、数据库、数据库管理系统和数据库应用软件五部分组成,涉及到的人员有数据库管理员、应用软件开发人员和最终用户。五部分为:1、计算机硬件(物理设备)。2、系统软件(操作系统、各种语言的编译程序等)。3、数据库(用来存放数据的文件,它是一个容器,在一个库中可以有许多的表、查询、窗体等)。4、数据库管理系统(用于创建数据库,对库中的数据进行编辑)。5、应用软件(用Vb语言编写的应用程序)。数据库系统投入运行,必须要有人去维护(称为数据库维护人员);编写这些应用软件必须要有软件人员来完成;最后使用这些软件的前台人员(终端用户)。8.1.2 数据库系统的分层结构从数据独立性的角度看,数据库系统中的数据通常抽象为物理层、逻辑层和视图层这样三层结构。物理层的具体实现由数据库管理系统借助操作系统的功能来完成。逻辑层用于描述数据库中应该包括哪些数据以及数据之间存在哪些关系,它是数据库中全部数据的逻辑描述,也是数据库的逻辑结构。视图层也叫外模式,它是特定用户和应用程序的数据视图,是数据库中与某一应用有关的部分数据的逻辑表示。一个数据库可以有多个不同的视图,也反映了不同需求的用户从不同的角度所看到的数据库。在Access数据库系统中,物理层存储由DBMS全权负责,基本上不需要应用程序员和用户关心,逻辑层由数据库中的所有的表组成,而视图层由特定的查询和应用程序组成。8.1.3 关系数据模型数据模型是用于描述现实世界的工具。一组严格定义的概念集合,它们精确地描述了数据和数据之间的关系、对数据的操作以及有关的语义约束规则。 (1)概念数据模型 面向现实世界和终端用户,不依赖具体的DBMS,是从现实世界到信息世界的抽象。主要用于需求分析,常用的概念模型有:实体-关系(E-R)模型。例如: 职工编号姓名 性别 籍贯关系模式:职工(编号,姓名,性别,籍贯)(2)逻辑数据模型逻辑数据模型则是面向应用软件开发人员和数据库管理人员,与DBMS密切相关,主要用于数据库及其应用程序的开发实现。常用的逻辑模型有层次模型、网状模型和关系模型。关系型是目前使用最多的模型。例如:职工表:编号 姓名 性别 籍贯1001 李平 女 山西1002 王林 男 河南2001 赵新 男 广东(3)物理数据模型物理数据模型用来反映数据的物理储存结构,对应于数据库系统的物理层。物理数据模型不但与DBMS有关,还与操作系统和计算机硬件等有关。主要面向DBA,用于提高数据库系统的运行性能。 关系数据模型数据库:关系数据模型是当前使用最广泛的数据库系统模型,常见的关系数据库有Oracle、DB2、Sybase、SQL Server等大中型数据库管理系统,Access也是一个关系型数据库管理系统。 在关系模型中采用相互关联而又互相独立的多个二维表格来反映各种数据关系。所有数据元素都存在于称作“关系”的二维表格中,这些表以行和列的形式来组织数据,从而简化了数据的存取和操作。 一个关系就是一个二维表,这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。仓库表:仓库号 城市 面积WH1 北京 370WH2 上海 500WH3 广州 300WH4 武汉 400职工表:仓库号 职工号 工资WH2 E1 1220WH1 E3 1210WH2 E4 1250WH3 E6 1230WH1 E7 1250在关系模型中表中的每一行称为一个元组(一条记录)。表中的列称为属性或字段,列的名字称为属性名,在列中填写的数据称为属性值。在关系模型中,表的每一列的数据类型必须一致,一个列所有可能的取值就称为属性域。属性名、属性域、属性值是彼此密切联系但又存在明显差别的概念。特点为:一个关系必须规范化,在一个关系中每个属性必须是不可分割的数据单元;在一个关系中不能出现相同的属性名(字段名);关系中不允许有完全相同的元组(记录);在一个关系中元组的次序无关紧要;在一个关系中列的次序无关紧要,通常重要的关键字在左边。一个具体的关系模型由若干关系模式组成,在一个数据库中包含相互之间存在联系的多个表,这个数据库文件就代表一个实际的关系模型。8.2 ACCESS集成开发环境8.2.1 Access简介 Access是Microsoft公司推出的一种关系型数据库管理系统,在开始时,Microsoft将Access单独作为一个产品进行销售,在发行Office 97时,Microsoft将Access作为Office套件中的一个重要成员一起发布。最新版本Access 2003也已经开始随同Office 2003发布。 Access已经是世界上最流行的桌面数据库管理系统。8.2.2 Access数据库系统的组成 Access的主工作窗口与Office其他软件的界面类似,由菜单、工具和若干任务窗口组成。数据库包含了表、查询、窗体、报表、页、宏和模块共七大对象,数据库中的数据来源是数据表,由数据表生成的查询和数据表一起构成了整个数据库中所有对象的基础数据来源。一个数据库可分为三层:物理层、逻辑层和视图层。Access物理层(数据库存储格式)就是一个名为.MDB的文件,由Access数据库管理系统管理,不需要应用程序员和用户关心。逻辑层对应数据库中所有的表和表之间的关联(如:仓库表和职工表以及表之间的关联)。视图层由查询、窗体、报表、页、宏和模块等对象来实现(结果)。查询以表作为数据源,按照一定的条件或要求对表中的数据进行处理,得到一个外观形式与表一样的数据视图(也称虚拟表)。要注意的是查询不是真正的表。对于数据库表中保存的同一批数据(原始数据),用户可以通过查询按照不同的方式去查看、更改和分析。查询对象本身仅仅保存查询命令,它描述的是从逻辑层到视图层的映射关系。查询可作为窗体、报表的数据源。窗体是开发人员提供给最终用户处理业务的界面,它的设计与实现与VB类似。报表是供用户以打印格式输出数据的对象。页用于查看来自Internet的数据。宏是一个或多个操作的集合(指令的集合)。模块与VB类似(标准模块),用于存放代码,以实现代码的重用。8.2.3 Access数据库系统的建立 在Access中建立一个数据库系统大概有如下的主要步骤:(1)根据用户需求建立表及其关系。(2)设计用户视图,建立查询。(3)设计交互界面,建立窗体、报表(4)编写事件过程、模块等。(5)测试、生成应用系统。为了提高开发应用系统的效率,Access提供了一些常见的数据库应用模板,如订单入口模板、库存控制模板等。通过向导可自动建立一个数据库系统,步骤如下:(1)单击工具栏上的“新建”按钮,在“新建文件”任务窗格中的“根据模板新建”下,单击“通用模板”(2)在“数据库”选项卡上,单击要创建的数据库类型的图标。(3)在“文件新建数据库”对话框中,指定数据库的名称和位置,然后按照“数据库向导”的指导进行操作即可。 8.3 Access数据库的安全 数据库的安全性是指数据库系统防止不合法使用所造成的数据泄漏、更改或破坏的能力。在Access环境中, “工具”菜单下“安全”菜单项 。8.3.1 密码保护Access数据库密码保护即对打开的 Access 数据库设置密码。设置密码后,打开数据库时将要求输入密码。 设置数据库密码 :首先以独占的方式打开数据库对象。然后选择“工具”菜单中“安全”菜单项的“设置数据库密码”命令,打开设置数据库密码对话框输入密码。 8.3.2 用户级安全机制 8.3 本章小结数据库发展经历了三个阶段:人工阶段、文件阶段和数据库阶段。数据管理是计算机最主要的应用领域,数据库系统是数据管理的主要工具。一个数据库系统由计算机硬件、系统软件、数据库、数据库管理系统和数据库应用软件五个部分组成,涉及到的人员有数据库管理员、软件开发人员和最终用户。数据模型是一组严格定义的概念集合,它们精确的描述了数据和数据之间的关系、对数据的操作以及有关的语义的约束规则。数据模型有三种:层次型、网状型和关系型,关系数据模型是当前使用最广泛的数据库系统模型,Access使用的是关系模型,所以它是一个关系型数据库管理系统。在关系模型中采用相互关联而又互相独立的多个二维表格来反映各种数据关系,所有数据元素都存在于称作关系的二维表中。Access数据库包含有表、查询、窗体、报表、页、宏和模块等对象,其中数据库物理层是后缀名为”.mdb”的文件,逻辑层对应的是数据库中所有的表以及表之间的关联,视图层由查询、窗体、报表、页、宏和模块等对象来实现。数据库的安全性是指数据库系统防止不合法使用所造成的数据泄漏、更改或破坏的能力。 第9章表表是关于特定主题(例如工资和职工)数据的集合,是关系数据库中用来存放数据的场所。 在Access中,表有不同的显示窗口(也称为视图),比如“设计”视图、“数据表”视图、“数据透视表”视图、“数据透视图”视图等,它们都有各自的用途。9.1表的设计与使用 关系数据库中的表由确定结构的表头和包含实际数据的表体组成。表的“设计”视图就是用于创建、修改表结构的工作窗口,设计一张表就是要设计表头,确定表结构。在Access中,我们可以通过表向导、表设计器或者直接输入数据来设计表,通常使用表设计器来设计表结构。 9.1.1表设计器在数据库窗口中的“对象”组中选择“表”,然后进入表设计器。 1、 字段名称在一个表中不能有两个重名的字段,字段名可以使用汉字、字符、数字等。2、 字段的数据类型(文本、数字、日期、逻辑、货币、OLE等)3、 字段说明字段说明是可选项,用于对字段做进一步的说明,起备忘录的作用。4、 字段属性每个字段都有它自己的一组属性,这些属性进一步说明该字段在表中的性质(如长度、有效性规则、默认值、格式等)。9.1.2 数据表 数据表视图是对表内容进行各种操作的窗口。1、 编辑操作包括对记录的增、删、改。2、排序操作对指定表中的记录按某字段进行排序,打开表按菜单进行。3、筛选操作把满足条件的记录筛选出来。9.1.3 主键与索引1、主键与实体的完整性在关系数据库系统中,表代表现实世界中特定的实体类型,表中的每个元组(记录)代表一个具体的实体对象。在表中为使表中的元组保持惟一引入主键的概念(也称为主关键字),主键可以是关系中的一个或一组字段。在关系表中,没有一个记录的主键为空,也没有两个记录的主键值性同,这个性质称为关系数据库的实体完整性。在一个表中,只能有一个主关键字。2、索引索引可以提高对记录的查询速度,索引是逻辑上的排序。它是表记录排序的一种方法,它与书的索引相类似。索引中不包括表记录的内容,仅含有记录号,因此不占用过多的磁盘空间,每个索引代表一种处理记录的顺序。在缺省情况下,Access为主键自动设置索引,这个索引称为主索引。9.2表的关联9.2.1实体关联的类型在现实世界中,不同的实体之间常常存在各种关系。例如教师与学生、职工与学校、仓库与职工等。因此,在一个数据库中,不仅要存储有关的实体数据(表),而且还要建立这些实体之间的关联(表的关联)。从参与关联的两个试题集的数量关系来说,实体之间的关联可分为三种:“一对一”、“一对多”和“多对多”。在仓库表中的主键是“仓库号”,在职工表中的主键是“职工号”,职工表中的“仓库号”称为外部关键字,它们是“一对多”的关系。仓库表:仓库号 城市 面积WH1 北京 370WH2 上海 500WH3 广州 300WH4 武汉 400职工表:仓库号 职工号 工资WH2 E1 1220WH1 E3 1210WH2 E4 1250WH3 E6 1230WH1 E7 12509.2.2表间关联的建立表关联是指在两个或多个表中相同域的字段之间建立一对一和一对多的联系。创建表间关联的步骤:1、进入数据库窗体2、在“工具”菜单栏下选择“关系”3、单击右键选择“显示表”并添加表4、选择某个表中要建立的关联字段,将其拖到其他表的相关字段5、拖动相关字段后会显示一个对话框6、单击对话框中的“新建”按钮,完成关联创建。7、如有多个表,可重复上述步骤。建立关联的目的主要是实施参照完整性9.2.3外键与参照完整性在数据库中表的关联只能是一对一或一对多,关联字段在其中的一个表(称为主表)中通常是主关键字,此时它在另一个表(称为关联表)中就被称为外部关键字。当关联字段是外键时,可以在对话框中选择“实施参照完整性”,Access将对相关联的两个表自动实施如下规则:相关表的外键只能取主表中主键存在的值或“空”值。如果在相关表中存在匹配的记录,则主表中相应的记录不能被删除。如果在相关表中存在匹配的记录,则主表中相应的主键值不能修改。实施参照完整性,可以确保关联表中记录之间关系的有效性,防止误操作带来的意外损失。9.3 表分析器与数据规范化9.3.1表分析器表分析器可以帮助用户将一个表分成两个表,并建立一对多的联系。在数据库下选择表,然后在“工具”菜单下选择“分析”项,根据提示可完成。9.3.2表的规范化为了尽可能地减少数据重复,产生和发展了关系数据库的规范化理论。由于数据库仅仅是存储数据的框架,而真正存储数据的是表。因此数据规范化的核心就是表的规范化,其中心思想是将数据库中的每张表精简为一组字段,使得表中所有的非主键字段都取决表的主键字段。规范化的规则是:规则0:每一张表要有一个主键。表中的每一条记录都代表客观世界的某个实体,它是独特的,可以与其他实体相区分。规则0就是实体完整性,它隐含了在一个关系中不存在两个完全相同的记录。规则1:列值不可分。关系表的每个属性只能在一个特定的简单类型域中取值,不能取复杂的组合值。规则0和规则1称为关系数据库第一范式,它是对关系表的基本要求。在Access中,所有的表都自动满足第一范式。规则2:非主键字段取决于整个主键字段。一个关系表通常由许多列组成,在这些列中有一些是所谓的主键字段,而另外一些是非主键字段。在一个关系表中,两个不同的记录一定拥有不同的主键值。9.4 本章小结 表是数据库中的基本组件,是关于特定主题数据的集合。关系表由确定结构的表头和包含实体数据的表体组成,表结构设计的主要工作是确定组成表的字段,包括字段的名称、数据类型和属性等,通常在表的设计视图中进行。数据表视图是对表的内容(记录)进行各种操作的窗口。在数据表视图中,可以对记录进行编辑和删除表中的记录,也可以对表中的记录进行排序、筛选等操作。主键是关系表中的一个或一组字段,是表中所存储的每一条记录的惟一标识。在关系表中,没有一个记录的主键为空,也没有两个记录有相同的主键值,这个性质称为关系数据库的实体完整性。索引有助于提高对表中记录进行快速的查找和排序,在缺省情况下Access将为主键自动设置索引,这个索引称为主索引。在一个数据库中,不仅要存储有关的实体数据(表),而且要建立这些实体之间的关联(表的关联),从参与关联的两个实体集的数量关系来说,实体之间的关联可分为三种:一对一、一对多和多对多。表之间只能有一对一或一对多的关联,关联字段在其中的一个表(主表)中通常是主关键字,在另外一个表(相关表)中称为外部关键字,简称外键。通过实施参照完整性可以确保关联表中记录之间关系的有效性,防止误操作带来的以外损失。为了尽可能减少数据的重复,产生和发展了关系数据库的规范化理论,其中最常用的是1、2、3范式。习题 创建两张表班级表的结构为:班级代码 数字 整型 (主键)名称 文本 20班长 文本 8电话 文本 18学生表的结构为:学号 文本 12 (主键)姓名 文本 8性别 文本 2 籍贯 文本 20班级代码 数字 整型 (外键)计算机 数字 整型外语 数字 整型数学 数字 整型平均成绩 数字 单精度总成绩 数字 整型 图片 OLE第10章查询 查询属于视图层,它为用户提供了从不同角度查看逻辑层关系表记录的方式。查询以表(或查询)作为数据源,按照一定的条件对数据源中的数据进行检索等操作,得到一个外观形式同表一样的结果集。虽然查询也是一个关系,但它不是基本表。查询对象本身仅仅保存运算命令,查询结果集只是暂存在内存中,并没有永久保存。 建立查询的方法有两种,一是使用查询设计视图;另一种是使用查询向导。利用向导可以快速创建查询,但是对于复杂的查询,向导往往不能满足要求,需要在设计视图中创建查询或对向导创建的查询进行修改。在这里,我们只介绍使用查询设计视图设计查询的方法,查询向导的使用大家可以通过练习来掌握。查询语句基本格式:SELECT 目标列表达式 FROM 源表或视图列表 WHERE 查询条件10.1选择查询10.1.1 字段选择查询(投影运算)所谓字段选择查询就是从一个关系表中挑选出部分列呈现给用户,其本质是对关系做投影运算。 在数据库窗口的“对象”组中选择“查询”选项后,双击“在设计视图中创建查询”选项,即可进入查询的“设计”视图。在窗口中选择、添加查询的数据源(数据源可以是表,也可以是另一个已经设计好了的查询),比如仓库表,进入查询设计窗口。窗口的上部是“表/查询显示窗口”,显示查询的数据源;下部是“示例查询设计窗口”,也叫查询设计网格,用于具体设计查询。10.1.2 记录选择查询(选择运算)字段选择查询用于选择关系的列(字段),记录选择查询则用于筛选关系中的行(元组),即对关系进行选择运算,从中挑出满足条件的元组。 创建记录选择查询比创建字段选择查询要稍微复杂一些,我们需要在后者的基础上加上记录选择条件。添加记录选择条件的方法与设计表时设置字段有效性规则相似,在对应字段的条件中输入表达式。系统将从第一个记录开始直到最后一条记录,逐个记录运算表达式,把满足条件的记录筛选出来予以显示。10.2联接查询(联接运算)创建联接查询的基本设计步骤如下:(1)在“显示表”窗口中添加所有与查询相关的数据源(表或者查询),比如仓库表和职工表。(2)在数据源之间建立关联关系。如果关联关系已经存在,则可以跳过此步。仓库表和职工表在表设计时建立的一对多关联将被继承下来。 (3)确定联接类型。用鼠标双击图的关系连接线,即可看到如下面的图10.9所示的联接属性窗口(p211)10.3 操作查询10.3.1 追加查询追加查询用于将成批的记录添加到数据表中。它首先通过查询形成一个与数据表结构相同的关系,然后将这个关系同数据表做并运算,从而将查询结果中的元组添加到数据表中。10.3.2 生成表查询其功能是用查询的结果生成一个新表。10.3.3 删除查询删除查询用于从数据表中批量删除记录,其工作机理是:首先从数据表中找出要删除的记录集,然后将数据表同被删记录集做差运算,从而实现记录的批量删除。10.3.4 更新查询更新查询用于批量更新数据表中的记录值,它的创建步骤与前面几种操作查询类似。10.4 统计查询10.4.1 简单统计查询在实际工作中,常常需要对数值型字段进行统计,如求和、平均值、最大值、最小值、计数,分别对应的字段函数为: SUM、AVG、MAX、MIN、COUNT。10.4.2 交叉表统计查询交叉表统计查询是以类似于电子表格的形式查询。10.5 参数查询书中所见的查询有:字段选择查询(投影运算)记录选择查询(选择运算)联接查询(联接运算)追加查询生成表查询删除查询更新查询简单统计查询(利用字段函数:SUM、AVG、MAX、MIN、COUNT)交叉表统计查询参数查询10.6 SQL查询SQL是结构化查询语言Structured Query Language的缩写。可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包括数据定义、数据操纵和数据控制功能等部分。SQL已成为关系数据库的标准数据语言,所以现在的关系数据库管理系统都支持SQL。SQL的特点:(1)一体化。集数据定义、数据查询、数据操纵、数据控制于一体。(2)高度非过程化。只需告诉计算机做什么(what),无需告诉计算机怎么做(how)。(3)功能强大,简捷易用。(4)提供两种使用方式:命令方式和嵌入方式。常用的SQL数据类型SQL数据类型VB数据类型描述CharString定长字符串DateDate日期DatetimeDate日期时间DecimalCurrencyIntLongFloatDoubleRealSingleMoneyCurrencyNumberCurrencySmallintIntegerVarcharString10.7 本章小结在关系表上可以进行5种运算:投影、选择、连接、并和差。在Access数据库系统中,所有的关系运算都是查询对象的形式来实现的。查询以表作为数据源,按照一定的条件对数据源中的数据进行检索等操作,得到一个外观形式同表一样的结果集。虽然查询也是一个关系,但它不是基本表,它是一个虚拟的表。查询对象本身仅仅保存运算命令,查询结果集只是由运行命令所得到的,暂存在内存中,并没有永久保存。查询分为选择查询、操作查询、交叉查询、参数查询、SQL查询等类型。字段选择查询(投影运算)记录选择查询(选择运算)联接查询(联接运算)追加查询(并运算)生成表查询删除查询(差运算)更新查询简单统计查询交叉表统计查询参数查询SQL是结构化查询语言Structured Query Language的缩写。可以说查询是SQL语言的重要组成部分, SQL已成为关系数据库的标准数据语言,现在的关系数据库管理系统都支持SQL。第11章窗体和报表在Access数据库中,窗体是一种主要用于输入和显示数据的数据库对象,也可以用作切换面板来打开数据库中的其他窗体和报表,还可以用作自定义对话框来接受用户的输入及根据输入执行操作。程序开发人员用窗体作容器,以控件为工具,不仅可以设计出切合用户需要的界面,还可以通过使用宏或VBA为在窗体或控件上发生的事件添加自定义的事件响应,从而实现用户的业务逻辑流程处理。11.1.1 简单窗体设计 Access窗体的结构和Visual Basic的有所不同。Visual Basic窗体只有一个部分,而Access窗体却包括五个称为节的部分:窗体页眉、页面页眉、主体、窗体页脚、页面页脚。在图11.1中只显示了主体部分。在菜单视图中选择“窗体页眉/页脚”和“页面页眉/页脚”,就可以看到如书p119 图11.2所示的窗体全貌。 主体是窗体不可缺少的主要部分,用来摆放各种控件以输入和显示数据源中的数据。窗体页眉位于窗口的顶端,常用来显示窗体的名称、提示信息或放置命令按钮。窗体页脚和窗体页眉对应,一般位于窗体的底部,因而适合用来汇总主体节数字性数据,例如销售额等;也可以用来摆放命令按钮或提示信息等。页面页眉节的内容会打印在每一页的顶端,可用来显示每一页的标题、字段名等信息。页面页脚和页面页眉前后相对,只出现在打印时每一页的底端,通常用来显示页码、日期等信息。 窗体的设计有两种方法:一种是使用Access窗体向导,另一种是通过窗体设计视图。我们只介绍窗体设计视图,窗体向导的使用请大家自己学习掌握。 步骤:1、进入窗体设计器下2、从工具箱中添加文本框和标签,也可以从字段列表框中拖拽到指定的位置。3、单击右键选属性下拉式列表框中选窗体数据(选项卡)4、添加表(例如学生表)5、对文本框进行绑定数据源(选中文本框单击右键选属性),数据选项卡中选字段名。 11.2 报 表11.2.1 简单报表 报表是以打印的格式表现用户数据的一种有效的方式。因为能够控制报表上所有内容的大小和外观,所以可以按照所需的方式显示要查看的信息。报表设计和窗体设计几乎一样,但其中还是有些差别,这主要是因为两种对象有不同的作用。报表是主要用来打印输出数据,但无法在报表窗口模式中修改数据,而窗体恰好相反,除了美化输入界面之外,主要通过它维护数据记录。所以报表通常会涉及数据的汇总,对格式有一些特别的要求。 报表的设计视图通常如图11.14所示,它有5个固定部分(节)。报表页眉常用来显示诸如商标、报表题目或打印日期等项目,打印时只会打印在第一页。报表页脚在报表的结尾出现一次。可以用它显示诸如报表总计等项目。页面页眉出现在报表中每页的顶部,可以用它显示诸如列标题等项目。页面页脚出现在报表中每页的底部,可以用它显示诸如页码等项目。主体节中包含报表数据的主体部分,它对报表的基础记录源中的每个记录而言都是重复的。 根据控件与数据源之间的关系,报表中的控件也可以分为:非绑定型控件、绑定型控件、计算型控件。例如,图11.15产品库存报表中的产品库存标签和产品名称标签等就是非绑定型控件,只起提示作用。但是标签在不同的节中所表达的含义不一样。产品库存标签处于报表页眉节,表明整个报表的意义,只会出现在打印的第一页上。产品名称标签处于页面页眉,它一般是针对主体区的数据给出提示,所以会在打印的每一页的顶部。主体区的产品名称文本框和库存量文本框属于绑定型控件,它们通过控件来源属性分别与各类产品查询的“产品名称”字段和“库存量”字段绑定,在打印时数据源记录数据。报表中计算型控件使用的比较多,大致可以分成下面几类。(1)日期控件:一般处于报表页眉,显示报表打印日期。例如图11.15报表页眉节的日期计算控件。它是通过把文本框的控件来源设置为表达式“=Format(Date(),yyyy-mm-dd)”来实现的。其中Date()是Access提供的当前日期函数,Format()函数定义日期输出格式,“”是计算型控件表达式起始符号。Access中还有一个常用的日期函数Now(),用于显示系统当前日期和时间。(2)页码控件:一般处于页面页眉,显示打印页号。例如图11.14 页面页眉节的页码计算控件。它是通过把文本框的控件来源设置为表达式“=第 & Page & 页”来实现的。其中Page是Access页码函数,“&”是字符串连接运算符。在Access中,与页码相关的函数还有Pages,其作用是得到总页数。(3)汇总控件:对数据进行报表汇总运算。例如图11.15报表页脚节的汇总计算控件。它使用了Access计数函数Count。Count对字段“产品名称”计数,计数范围为整个报表。汇总计算控件的汇总范围是由其所在的节决定的:放在报表页眉/页脚则对整个报表汇总;放在组页眉/页脚则在每个分组内汇总;放在主体节则对整个报表汇总,不过会多次重复显示;一般不放在页面页眉/页脚。Access中提供的汇总函数还有SUM、AVG等。 (4)算术运算控件:一般处于主体节,对主体节数据进行算术运算。例如,在控件中使用表达式“=数量*价格”得到金额。11.2.2 分组报表 如果我们希望了解每一类产品有哪些及其数量,就需要对数据按产品类别进行分组,形成分组统计报表。分组是按照数据域的特性,将同类型的数据集合在一起,从而按类型进行综合或统计。分组和排序使用的是同一个对话框。但是如果某字段只是用于排序,则不能选择组属性的组页眉和组页脚,图11.17中“产品名称”就是只用于排序。如果要分组则至少需在组页眉和组页脚选择一个,例如按产品类别名称进行分组的结果如图11.18所示。Access最多可对10个字段和表达式进行分组。 11.3 本章小结 窗体是一种主要用于输入和显示数据的数据库对象,是应用程序开发人员提供给最终用户处理业务数据的界面,数据的使用与维护大多数都是通过窗体来完成的。Access窗体的结构和Visual Basic的有所不同。Visual Basic窗体只有一个部分,而Access窗体却包括五个称为节的部分:窗体页眉、页面页眉、主体、窗体页脚、页面页脚。程序开发人员用窗体作容器,以控件为工具,不仅可以设计出切合用户需要的界面,还可以通过使用宏或VBA为在窗体或控件上发生的事件添加自定义的事件响应,从而实现用户的业务逻辑流程处理。 窗体上各个控件都有自己的属性,其中最重要的是控件来源属性。根据控件与数据源之间的关系,Access控件可以分为3种类型:(1)绑定型控件(2)非绑定型控件(3)计算型控件。子窗体是插入到另一窗体中的窗体。原始窗体称为主窗体,主窗体中的窗体称为子窗体。当显示具有一对多关系的表或查询中的数据时,子窗体特别有效。 报表是以打印的格式表现用户数据的一种有效方式,它的设计和窗体设计几乎完全一样。在报表中经常使用一些计算型控件进行数据的汇总统计。子报表是插在其他报表中的报表,主报表与子报表的数据来源有以下几种关系:(1)一个报表内的多个子报表的数据来自不相关记录源。在这种情况下,非绑定型的主报表只是作为合并不相关子报表的“容器”使用。(2)主报表和子报表的数据来自相同的数据源。当希望插入包含与主报表数据相关信息的子报表时,应该把主报表与一个表格查询或SQL语句结合。(3)主报表和多个子报表数据来自相关记录源。一个主报表也能够包含两个或多个子报表共用的数据。这种情况下,子报表包含与公共数据相关的详细记录。第12章宏和VBA12.1宏的基本概念宏:一个或多个操作的集合说明:宏最基本的设计单元为一个宏操作,其中每个操作实现特定的功能, Access2002提供了50多种宏操作。12.2 VBA1、什么是VBA (Visual Basic for Applications) VBA是Microsoft公司在其Office套件中内嵌的一种应用程序开发工具。 VBA是应用程序开发语言VASUAL BASIC 的子集. VBA程序保存在Office2002文档内,无法脱离Office应用环境而独立运行。 VBA和VB的区别包括如下几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化.2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序(Office).3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL. 第13章VB数据库应用程序设计数据库应用程序设计的基本步骤一个典型的数据库应用系统开发过程分成以下五个阶段:需求分析:收集和分析用户对系统的信息需求和处理需求, 建立系统需求说明文档(到用户单位考察收集资料)。 系统设计: 根据资料进行结构特性的设计和行为特性的设计。 结构特性的设计即数据库设计,开发人员根据 系统需求,用概念数据模型(一般用E-R图)表示 数据及其相互间的关系。 行为特性的设计即应用程序设计,一般包括人 机交互界面设计和应用逻辑设计,采用关系数据库(逻辑数据模型)。 系统实现: 完成系统设计后,开发人员选择适当的开发工 具实现应用程序的开发(物理数据模型)。 系统测试: 完成前三步后,便可进入试运行阶段,在运行期 间进行实际测量与评价,以便根据实际结果修改 系统,最后交付用户使用。系统维护: 系统投入运行后,还须对系统进行不断的调整维 护,通常情况下运行6-12个月系统稳定。ER图(EntityRelationship): E-R图是对现实世界的一种抽象,所谓抽象就是对实际的人、物、事和概念的的共同特性、它们之间的关系用各种概念精确的描述,这些概念形成了概念数据模型。E-R图规则: 长方形表示实体,用椭圆形表示实体的属性,并用无向边把实体与其属性连接起来,用菱形表示实体之间的联系,菱形框内是联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型(1:1、1:N或M:N) 如p255图13.1和13.2所示13.1VB数据库应用基础用vb应用程序访问数据库要通过数据库访问接口来完成。数据库访问接口存在于应用程序和数据库之间,起着中介的作用。应用程序通过它访问数据库,如对数据库中数据进行访问及修改操作。VB访问数据库的接口方法很多,其中最流行的是ADO数据库访问技术。13.1.1 ADO概述使用ADO(ActiveX Data Objects)是微软公司为应用程序访问数据库提供的接口。ADO对象模型定义了一个可编程的分层对象集合。ADO对象模型主要有三个常用对象 Connection、Recordset和Command对象以及几个集合对象Error、parameters和fields等组成。P257 表13.1对象 说明CommandConnectionRecordsetErrorFieldsParameterProperty 使用ADO连接数据库过程为:1、使用Connection对象建立数据库的连接。2、利用建立好的连接,通过Connection、command对象执行SQL命令,或者利用Recordset对象取得结果记录集进行查询、处理等。3、关闭连接并释放对象。VB中使用ADO有两种方法,数据控件法(ADO控件法)和接口对象法(ADO对象法)。13.1.2 ADO控件法1、ADO控件的添加使用ADO控件之前应将其添加到工具箱中。在工程菜单下选择“部件”命令,在弹出对话框中选择:“Microsoft ADO Data Control 6.0 (OLEDB)”的复选框,即可将ADO控件添加到工具箱中,此时该控件和其他控件的使用一样。2、ADO控件与数据库连接(步骤) 在vb下增加一个窗体在该窗体上添加一个ADO控件(ADODC1) 选ADODC1的属性页进行设置:选择单选按钮的“使用连接字符串“按下“生成“按钮,在对话框的“提供程序”选项卡下选择“Microsoft Jet4.0 OLE DB Provider”三点按钮,然后按下“下一步”在对话框中输入数据库文件名(盘符:路径文件名”或利用三点按钮查找文件名。按下“测试连接”按钮,若提示成功,表示已连接,否则继续重复以上步骤。在属性页的”记录源”选项卡下,命令类型选2-adcmdtable,并选表名。按下“确定”按钮,连接完成。至此数据库和ADOCD1控件已连接,接下来是把vb控件与ADOCD1连接。3、利用ADO控件与VB的绑定控件连接ADO控件虽然可以实现与数据库的连接并返回所需要的记录集,但它没有提供显示数据的功能,为此vb特别提供了一些具有数据感知功能的控件来配合ADO控件来显示记录集中的数据,我们称这些控件为数据绑定控件。数据绑定控件也有容器类和非容器类,所有的非容器数据绑定控件都有两个共同属性:DataSource和DataFiled。DataSource属性用来设置数据源(如ADODC1),DataField属性用于绑定控件与哪一个字段绑定在一起(用于显示内容)。有了这两个属性后,在使用ADO控件移动指针时,数据绑定控件就可以自动跟踪并显示当前记录的数据。这些控件有:文本框(TextBox)、标签(Label)、表格(DataGrid)等。DataGrid控件属于ActiveX控件,通过菜单“工程”下的“部件”进行添加。选中“Microsoft DataGrid Control 6.0 (OLEDB)”的复选框,即可将DataGrid 控件添加到工具箱中。在使用ADO控件时可以在窗体的load事件中进行一些初始设置:用ADO控件的commandtype属性可以改变数据源类型,例如:使用命令作为数据源:Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 学生表使用表作为数据源:Adodc1.CommandType =adCmdTableAdodc1.RecordSource = 学生表数据绑定控件与数据塬进行数据绑定时的步骤:所有的非容器数据绑定控件都有两个共同属性:DataSource和DataFiled。1、用set命令将数据绑定控件与ADO控件连接Set Text1.DataSource = Adodc12、给数据绑定控件DataField属性赋值Text1.DataField =”学号”下面程序段:Private Sub Form_Load()Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:wang1db2.mdb;Persist Security Info=FalseAdodc1.CommandType =adCmdTableAdodc1.RecordSource = 学生表Set DataGrid1.DataSource = Adodc1For i = 0 To 5Set Text1(i).DataSource = Adodc1Nextkk = 学号姓名性别数学外语For i = 0 To 4Text1(i).DataField = Mid(kk, i * 2 + 1, 2)NextText1(5).DataField = 计算机End Sub例13.14、利用AddNew方法增加数据记录利用AddNew方法增加一条新记录,首先录入记录,录入完后通过Update方法保存新记录。例13.2步骤:在窗体上增加文本框数组控件text1(0)text1(6)和adodc1控件及其他对象(DataGrid1、command1、label1数组)。设置Adodc1的属性编写事件代码Private Sub Form_Load()Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:wangdb1.mdb;Persist Security Info=FalseAdodc1.RecordSource = select * from 学生Set DataGrid1.DataSource = Adodc1For i = 0 To 6Text1(i).Text = NextEnd SubPrivate Sub Command1_Click()If Text1(0).Text = Then MsgBox 学号为空 Exit SubEnd IfAdodc1.RecordSource = select * from 学生 Where Trim(学号) = & Trim(Text1(0).Text) & Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 ThenMsgBox 输入的记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论