access2003教程(完整版)

access2003教程(完整版)

ID:25203538

大小:8.89 MB

页数:244页

时间:2018-11-18

上传者:xinshengwencai
access2003教程(完整版)_第1页
access2003教程(完整版)_第2页
access2003教程(完整版)_第3页
access2003教程(完整版)_第4页
access2003教程(完整版)_第5页
资源描述:

《access2003教程(完整版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

Access教程第一章Access数据库基础◆数据库基础知识及关系数据库管理系统。◆Access2003中文版介绍。数据库技术产生于60年代末、70年代初,它的出现使计算机应用进入了一个新的时期——社会的每一个领域都与计算机应用发生了联系。数据库是计算机的最重要的技术之一,是计算机软件的一个独立分支,数据库是建立管理信息系统的核心技术,当数据库与网络通信技术、多媒体技术结合在一起时,计算机应用将无所不在,无所不能。作为本课程学习的开始,我们首先要了解的是:什么是数据库?什么是数据库管理系统?什么是Access呢?一、数据库的基本知识1.什么是数据库数据库这个词有多种解释,简单的定义是这样的:数据库(DataBase)是结构化数据的集合。从广义上讲,数据库就是数据或信息的集合,相当于一个数据仓库。具体来说,数据库是一组经过计算机整理后的数据,在关系数据库中,它由许多数据表组成。244 DavidM.Kroenke关于数据库的定义是:数据库是指自描述的完整记录的集合。它表达了三层含义:⑴数据库是自描述的。数据库除了包含用户的源数据以外,还包含关于它本身结构的描述,这个描述称作数据词典(或数据目录、元数据)。从这个意义上讲,数据库与作为一个自描述的书的集合的图书馆相似:除了书籍以外,图书馆还包含一个描述它们的卡片目录。⑵数据库是集成记录的集合。数据的标准结构如下:位—>字节—>域—>记录—>文件,按这种模式说,文件组合成数据库是非常诱人的,但却无法深入,数据库将包含四种数据:用户数据文件、元数据、索引、应用元数据。用户数据大多表示为表格,称之为数据表,它存放了用户的各种有用资料和数据。例如:元数据是关于用户数据的结构的描述,称之为系统表。例如:244 索引数据改进了数据库的性能和可访问性,称之为概括数据。例如:应用元数据用来存储用户表格、报表、查询、媒体数据和其它形式的应用组件。并非所有的DBMS都支持应用组件,支持应用组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。⑶数据库是模型的模型。数据库是用户关于现实世界的模型的模型。具体解释是:非计算机操作数据的情况下,人们所建立的一套文件、表格、数字等的处理内容和规则是人们关于现实世界的模型,在计算机操作数据的情况下,数据库设计者将在人们关于现实世界的模型的基础上再次建模,从而建立一个适用于计算机处理的数据库模型。三个世界的划分:现实世界(客观世界):实体、实体集、属性、实体标识符信息世界(观念世界):记录、文件、字段、关键字数据世界(计算机世界):位、字节、字、块、卷244 2.从文件管理到数据库管理前面提到从文件组合成数据库是非常诱人的,但却无法深入。实际上,在数据库处理之前,确实采用的文件管理方式,即用数据文件来存放数据,并通过高级语言完成对数据文件的操作。一个数据文件包含若干个“记录(Record)”,一个记录又包含若干个“数据项(DataItem)”,用户通过对文件的访问实现对记录的存取。通常称支持这种数据管理方式的软件为“文件管理系统”,它一直是操作系统的重要组成部分。随着计算机处理的数据量不断增加,文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,不能适应管理大量数据的需要,于是数据库管理系统应运而生,并在上世纪60年代末诞生了第一个商业化的数据库系统——IBM的IMS(InformationManagementSystem)。3.数据库系统的特点与文件系统比较,数据库系统有下列特点:⑴244 数据的结构化。文件系统中单个文件的数据一般是有结构的,但从整个系统来看,数据在整体上没有结构,数据库系统则不同,在同一数据库中的数据文件是有联系的,且在整体上服从一定的结构形式。⑵数据的共享性。在文件系统中,数据一般是由特定的用户专用,数据库系统中的数据可以有为不同部门、不同单位甚至不同用户所共享。⑶数据的独立性。在文件系统中,数据结构和应用程序相互依赖,一方的改变总是要影响到另一方的改变。数据库系统中的数据文件与应用程序之间的这种依赖关系已大大减小。⑷数据的完整性。在数据库系统中,可以通过对数据的性质进行检查而管理它们,使之保持完整正确。如商品的价格不能为负数,一场电影的定票数不能超过电影院的座位数。⑸数据的灵活性。数据库系统不是把数据简单堆积,而是在记录数据信息的基础上具有多种管理功能,如输入、输出、查询、编辑、修改等。⑹数据的安全性。数据库系统中的数据具有安全管理功能。⑺数据可控冗余度。数据专用时,每个用户拥有使用自己的数据,难免会出现数据相互重复,这就是数据冗余。实现数据共享后,不必要的数据重复将全部消除,有时为了提高查询效率,也保留少量的重复数据,其冗余度可以由设计者控制。4.数据库系统的分代数据库系统可分为三代。244 ⑴非关系型数据库系统。是对第一代数据库系统的总称,包括层次型数据库系统和网状型数据库系统。其主要特点是:采用“记录”作为基本数据结构,在不同“记录型”之间,允许存在相互联系,一次查询只能访问数据库中的一个记录。(P3)⑵关系型数据库系统(RDBS)。1970年,E.F.Codd在一篇名为“ARelationalModelofDataForLargeSharedDatabanks(大型共享数据库数据的关系模型)”文章提出了“关系模型”的概念。70年代中期,商业化的RDBS问世,数据库系统进入第二代,目前PC机上使用的数据库系统主要是第二代数据库系统。其主要特点是:采用“表格”作为基本数据结构,在不同的表之间,允许存在相互联系,一次查询可以访问整个表格中的数据。⑶对象—关系模型数据系统(ORDBS)。将数据库技术与面向对象技术相结合,以实现对多媒体数据和其它复杂对象数据的处理,这就产生了第三代数据库系统。其主要特点是:包含第二代数据库系统的功能,支持正文、图形图像、声音等新的数据类型,支持类、继承、方法等对象机制,提供高度集成的、可支持客户/服务器应用的用户接口。二、数据库管理系统和数据库应用系统1.数据库管理系统244 实际上,数据库是存于某种存储介质上的相关数据有组织的集合,为了在计算机中对数据库进行定义、描述、建立、管理和维护,应通过特定的数据库语言进行,这就需要一套支持该数据库语言的系统软件,称作数据库管理系统(DBMS)。一般说,数据库管理系统具有下列功能:⑴数据定义功能。DBMS向用户提供“数据定义语言(DDL)”,用于描述数据库的结构,在关系数据库中其标准语言是SQL(StructuredQueryLanguage),它提供了DDL语句。⑵数据操作功能。对数据库进行检索和查询,是数据库的主要应用。为此DBMS向用户提供“数据操纵语言(DML)”,用于对数据库中的数据进行查询,同样SQL也提供了DML语句。⑶控制和管理功能。除了DDL和DML两类语句外,DBMS还具有必要的控制和管理功能。在讨论可视化的数据库管理系统(如VFP、Access)时,一般而言,从组成结构上看,DBMS的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和DBMS引擎。设计工具子系统提供设计工具,包括表生成、窗体生成、查询生成、报表生成和过程语言编译器等工具,设计工具子系统与开发人员相关联。运行子系统提供对设计时产生的程序的执行,它与用户接口。244 DBMS引擎介于设计工具及运行子系统与数据本身之间。实际上,它将根据以上组件的请求,将其翻译成对操作系统的命令,以实现对物理介质上的数据的读写。除此之外,DBMS引擎还涉及事务管理、锁定、备份和恢复等工作。2.数据库应用系统数据库应用系统(DataBaseApplicationSystem、DBAS)专指基于数据库的应用系统。一个DBAS通常由数据库和应用程序两部分组成,它们都需要在DBMS支持下开发。开发一个信息系统,一是要设计数据库,二是要开发应用程序。并且,这二者亦是相互关联的。三、Access2003内部结构Access2003是一个功能强大、方便灵活的关系型数据库管理系统。Access2003作为一个小型数据库管理系统,它最多能为由此由25-30台计算机组成的小型网络服务。进入Access2003,打开一个示例数据库,可以看到如下的界面,在这个界面的【对象】栏中,包含有Access244 2003的七个对象。另在【组】栏中,可以包含数据库中不同类型对象的快捷方式的列表,通过创建组,并将对象添加到组,从而创建了相关对象的快捷方式集合。Access2003所提供的对象均存放在同一个数据库文件(.mdb)中。Access2003中各对象的关系如下图所示。下面对Access2003每一类对象进行简单介绍。1.表244 表是Access2003中所有其他对象的基础,因为表存储了其他对象用来在Access2003中执行任务和活动的数据。每个表由若干记录组成,每条记录都对应于一个实体,同一个表中的所有记录都具有相同的字段定义,每个字段存储着对应于实体的不同属性的数据信息。请看下图。每个表都必须有主关键字,其值能唯一标识一条记录的字段。以使记录唯一(记录不能重复,它与实体一一对应)。表可以建立索引,以加速数据查询。具有复杂结构的数据无法用一个表表示,可用多表表示。表与表之间可建立关联。每一个字段都包含某一类型的信息,如数据类型有文本、数字、日期、货币、OLE对象(声音、图像)、超链接等。244 表的建立包括两部分,一部分是表的结构建立,另一部分是表的数据建立。数据库的每个对象都有两个视图,一个是设计视图,另一个是数据表对象视图。表的设计视图,可通过表设计器观察,它同时也是建立表结构的工具和方法。应当注意,Access数据库只是数据库各个部分(表、查询、报表、模块、宏和指向WebHTML文档的数据访问页面)的一个完整的容器,而表是存储相关数据的实际容器。2.查询数据库的主要目的是存储和提取信息,在输入数据后,信息可以立即从数据库中获取,也可以在以后再获取这些信息。查询成为了数据库操作的一个重要内容。Access2003提供了三种查询方式。244 ⑴交叉数据表查询查询数据不仅要在数据表中找到特定的字段、记录,有时还需要对数据表进行统计、摘要。如求和、计数、求平均值等,这样就需要交叉数据表查询方式。请看下面的例子。SELECT订单明细.订单ID,订单明细.产品ID,产品.产品名称,订单明细.单价,订单明细.数量,订单明细.折扣,CCur(订单明细.单价*[数量]*(1-[折扣])/100)*100AS总价FROM产品INNERJOIN订单明细ON产品.产品ID=订单明细.产品IDORDERBY订单明细.订单ID;注:Ccur函数,返回一个转换为货币数据类型表达式的值。244 ⑵动作查询动作查询,也称为操作查询,可以运用一个动作同时修改多个记录,或者对数据表进行统一修改。动作查询有4种,生成表、删除、添加和更新。⑶参数查询参数即条件。参数查询是选择查询的一种,指从一张或多张表中查询那些符合条件的数据信息,并可以为他们设置查询条件。3.窗体窗体向用户提供一个交互式的图形界面,用于进行数据的输入、显示及应用程序的执行控制。在窗体中可以运行宏和模块,以实现更加复杂的功能。在窗体中也可以进行打印。244 可以设置窗体所显示的内容,还可以添加筛选条件来决定窗体中所要显示的内容。窗体显示的内容可以来自一个表或多个表,也可以是查询的结果。还可以使用子窗体来显示多个数据表。4.报表244 报表用来将选定的数据信息进行格式化显示和打印。报表可以基于某一数据表,也可以基于某一查询结果,这个查询结果可以是在多个表之间的关系查询结果集。报表在打印之前可以预览。另外,报表也可以进行计算,如求和、求平均值等。在报表中还可以加入图表。5.宏宏是若干个操作的集合,用来简化一些经常性的操作。用户可以设计一个宏来控制一系列的操作,当执行这个宏时,就会按这个宏的定义依次执行相应的操作。宏可以用来打开并执行查询、打开表、打开窗体、打印、显示报表、修改数据及统计信息、修改记录、修改数据表中的数据、插入记录、删除记录、关闭数据库等操作,也可以运行另一个宏或模块。244 宏没有具体的实际显示,只有一系列的操作。所以宏只能显示它本身的设计视图。宏有许多类型,它们之间的差别在于用户触发宏的方式。如果创建了一个AutoKeys宏,用户可以通过按下一个键顺序地执行宏。如果创建了一个事件宏,当用户执行一个特定操作时,如双击一个控件或右击窗体的主体时,Access2003就启动这个宏。如果创建了一个条件宏,当用户设置的条件得到满足时,条件宏就会运行。6.模块模块是用Access2003所提供的VBA(VisualBasicforApplication)语言编写的程序段。模块有两种基本类型:类模块和标准模块。模块中的每一个过程都可以是一个函数过程或一个子程序。模块可以与报表、窗体等对象结合使用,以建立完整的应用程序。VBA语言是VB的一个子集。244 VBA程序设计使用的是现在流行的面向对象的程序设计方法。另:宏可以转换为模块。7.Web页Web页是Access2003提供的新功能,它使得Access2003与Internet紧密结合起来。在Access2003中用户可以直接建立Web页。通过Web页,用户可以方便、快捷地将所有文件作为Web发布程序存储到指定的文件夹,或将其复制到Web服务器上,以便在网络上发布信息。244 Access教程第二章建立数据库◆数据库的设计概念与创建数据库。◆表的创建及表与表之间的关系。◆数据库的修改、设计与编辑。一、数据库的设计1.概念及准则244 下面介绍数据库设计的概念,及由此而产生的数据库设计准则。Access2003数据库是所有相关对象的集合,包括表、查询、窗体、报表、宏、模块、Web页等。每一个对象都是数据库的一个组成部分,其中,表是数据库的基础,它记录数据库中的全部数据内容。而其他对象只是Access提供的用于对数据库进行维护的工具而已。正因为如此,设计一个数据库的关键,就集中在建立数据库中的基本表上。关系型数据库不管设计得好坏,都可以存取数据,但是不同的数据库在存取数据的效率上有很大的差别。为了更好的设计数据库中的表,下面提供几条一般规则供大家讨论。⑴字段唯一性。即表中的每个字段只能含有惟一类型的数据信息。在同一字段内不能存放两类信息。⑵记录唯一性。即表中没有完全一样的两个记录。在同一个表中保留相同的两具记录是没有意义的。要保证记录的唯一性,就必须建立主关键字。⑶功能相关性。即在数据库中,任意一个数据表都应该有一个主关键字段,该字段与表中记录的各实体相对应。这一规则是针对表而言的,它一方面要求表中不能包含该表无关的信息,另一方面要求表中的字段信息要能完整地描述某一记录。⑷244 字段无关性。即在不影响其他字段的情况下,必须能够对任意字段进行修改(非主关键字段)。所有非主关键字段都依赖于主关键字,这一规则说明了非主关键字段之间的关键是相互独立的。这些内容涉及到关系模型与规范化问题,这里不作理论分析,我们将在数据库原理中学习和讨论。2.一般步骤按照上面几条原则,可以设计一个比较好的数据库及基本表。当然数据库的设计远不止这些,还需要设计者的经验和对实际事务的分析和认识。不过可以就这几条规则总结出创建数据库的一般步骤。⑴明确建立数据库的目的。即用数据库做哪些数据的管理,有哪些需求和功能。然后再决定如何在数据库中组织信息以节约资源,怎样利用有限的资源以发挥最大的效用。⑵确定所需要的数据表。在明确了建立数据库的目的之后,就可以着手把信息分成各个独立的主题,每一个主题都可以是数据库中的一个表。⑶确定所需要的字段。确定在每个表中要保存哪些信息。在表中,每类信息称作一个字段,在表中显示为一列。⑷确定关系。分析所有表,确定表中的数据和其他表中的数据有何关系。必要时,可在表中加入字段或创建新表来明确关系。⑸244 改进设计。对设计进一步分析,查找其中的错误。创建表,在表中加入几个实际数据记录,看能否从表中得到想要的结果。需要时可调整设计。3.实例剖析下面以小型公司为例,建立客户、订单、产品、雇员管理的数据库。⑴明确目的。◆公司中有哪些雇员及其自然情况(何时被聘)、工作情况(销售业绩)等。◆公司中有哪些产品及其种类、单价、库存量、定货量等。◆公司有哪些客户,客户的姓名、地址、联系方式及有何订货要求等。⑵确定数据表。◆客户表。存储客户信息。◆雇员表。存储雇员信息。◆产品表。存储产品信息。◆订单明细表。存储客户订单信息。⑶确定字段信息。244 在上述相关的表中,我们可以初步确定如下必要的字段信息。习惯上,每个表都可人为设定一个关键字段。如订单表中,它的主关键字段是由多个字段组成的(产品编号、订货日期、客户编号、雇员编号),同时为了方便,也可建立一个订单编号作为主关键字段,它本来是可有可无的。请看下图所示的字段。⑷确定表间关系。要建立两个表之间的关系,可以把其中一个表的主关键字段添加到另一个表中,使两个表都有该字段。下图中,课单明细表中的主关键字段是由多个字段组成的。当然也可以如上所示地设立一个订单编号作为主关键字段。244 ⑸改进设计。上图中每一个表中的字段设置可以进一步完善和改进,甚至可以建立不同于初步设计时的新表来完成。如有需要,为了进行雇员工资的发放,可以建立工资表。二、建立一个数据库下面是MicrosoftAccess2003的界面。基于这个界面,创建一个新的数据库的方法是多样的,也是十分简单的。244 1.利用模板新建数据库为了方便用户的使用,Access2003提供了一些标准的数据框架,又称为“模板”。这些模板不一定符合用户的实际要求,但在向导的帮助下,对这些模板稍加修改,即可建立一个新的数据库。另外,通过这些模板还可以学习如何组织构造一个数据库。244 OfficeOnline模板可通过在线查找所需要的数据库模板。选择本机上的模板,出现如下窗体:244 选择工时与账单模板,如下图:244 命名存盘后,向导如下:244 下面是数据库中的表和字段:如果修改字段,有些不能修改的将给出提示信息:选择屏幕的显示样式:244 确定打印报表所用的样式:244 指定数据库的标题,并确定是否给出图片:244 完成数据的建立:完成数据库建立所有工作之前,给出公司信息:244 切换在数据库启动的主控页面:以下是数据的建立之后的内容:244 通过模板建立数据库虽然简单,但是有时候它根本满足不了实际的需要。一般来说,对数据库有了进一步了解之后,我们就不再去用向导创建数据库了。高级用户很少使用向导。2.直接建立一个数据库选择建立空数据库,其中的各类对象暂时没有数据,而是在以后的操作过程中,根据需要逐步建立起来。244 新的空数据库窗口如下:3.根据现有文件新建数据库Access2003提供了“根据现有文件新建数据库”的功能,这与以前的版本有不同之处。244 新建的数据库与选中的现有数据库文件存放在同一文件夹中,但是它的文件名有一个统一的改变,即在原现有文件之主文件名后增加“1”,以示区别,这样就产生了现有数据库文件的一个复制副本。4.打开已存在的数据库要使用数据库,Access2003需要打开数据库。244 在打开数据库对话框右上角,有一些按钮:返回前一级、向上一级文件夹、Web搜索、删除、新建文件夹、视图方式、工具项5.查看数据库属性数据库是Access对象,因此具有属性,属性包括文件名、文件大小、位置、由谁修必、最后修改日期。数据库属性分为5类:“常规”、“摘要”、“统计”、“内容”、“自定义”。244 244 244 三、创建简单表建立了空的数据库之后,即可向数据库中添加对象,其中最基本的是表。简单表的创建有多种方法,使用向导、设计器、通过输入数据都可以建立表。最简单的方法是使用表向导,它提供了一些模板。1.使用向导创建表244 表向导提供两类表:商务表和个人表。商务表包括客户、雇员和产品等常见表模板;个人表包括家庭物品清单、食谱、植物和运动日志等表模板。244 下面假设建立一个客户表:244 244 244 如果选中的是第一项,则可修改表的结构:244 2.表设计器虽然向导提供了一种简单快捷的方法来建立表,但如果向导不能提供用户所需要的字段,则用户还得重新创建。这时,绝大多数用户都是在表设计器中来设计表的。244 工具栏上包括如下工具对象:视图、保存、搜索、主键、索引、插入行、删除行、属性、生成器、数据库窗口、新对象3.字段、数据类型、字段属性⑴字段244 字段是通过在表设计器的字段输入区输入字段名和字段数据类型而建立的。表中的记录包含许多字段,分别存储着关于每个记录的不同类型的信息(属性)。在设计字段名称时,某些字符不允许出现在字段名称中:句点.惊叹号!方括号[]左单引号‘字段名中可以使用大写或小写,或大小写混合的字母。字段名可以修改,但一个表的字段在其它对象中使用了,修改字段将带来一致性的问题。字段名最长可达64个字符,但是用户应该尽量避免使用过长的字段名。⑵数据类型Access2003为字段提供了十种数据类型:数据类型用途字符长度文本字母和数字0~255个字符备注字母和数字0~64000个字符数字数值244 1、2、4或8字节日期/时间日期/时间8字节货币数值8字节自动编号自动数字4字节是/否是/否、真/假1位OLE对象链接或嵌入对象可达1G超链接Web地址、邮件地址可达64000字节查阅向导来自其他表或列表的值通常为4字节对于某一具体数据而言,可以使用的数据类型可能有多种,例如电话号码可以使用数字型,也可使用文本型,但只有一种是最合适的。主要考虑的几个方面如下:◆字段中可以使用什么类型的值。◆需要用多少存储空间来保存字段的值。◆是否需要对数据进行计算(主要区分是否用数字,还是文本、备注等)。◆是否需要建立排序或索引(备注、超链接及OLE对象型字段不能使用排序和索引)。◆是否需要进行排序(数字和文本的排序有区别)。◆244 是否需要在查询或报表中对记录进行分组(备注、超链接及OLE对象型字段不能用于分组记录)。⑶字段属性字段有一些基本属性(如字段名、字段类型、字段宽度及小数点位数),另外对于不同的字段,还会有一些不同的其它属性。◆字段大小。文本型默认值为50字节,不超过255字节。不同种类存储类型的数字型,大小范围不一样。◆格式。利用格式属性可在不改变数据存储情况的条件下,改变数据显示与打印的格式。文本和备注型数据的格式最多可由三个区段组成,每个区段包含字段内不同的数据格式之规格。第一区段描述文本字段的格式。第二区段描述零长度字符串的格。第三区段描述Null值字段的格式。可以用4种格式符号来控制输入数据的格式:@输入字符为文本或空格。&不需要使用文本字符。<输入的所有字母全部小写(放在格式开始)。>输入的所有字母全部大写(放在格式开始)。◆小数位数。小数位数只有数字和货币型数据可以使用。小数位数为0~15位,视数字或货币型数据的字段大小而定。244 ◆标题。标题用来在报表和窗体中替代字段名称。要求简短、明确,以便于管理和使用。◆默认值。默认值是新记录在数据表中自动显示的值。默认值只是开始值,可在输入时改变,其作用是为了减少输入时的重复操作。◆有效性规则。数据的有效性规则用于对字段所接受的值加以限制。有些有效性规则可能是自动的,如检查数值字段的文本或日期值是否合法。有效性规则也可以是用户自定义的。例如:<100Between#1/1/1970#and#12/31/2003#◆有效性文本。有效性文本用于在输入的数据违反该字段有效性规则时出现的提示。其内容可以直接在【有效性文本】框内输入,或光标位于该文本框时按Shift+F2,打开显示比例窗口。◆掩码。输入掩码为数据的输入提供了一个模板,可确保数据输入表中时具有正确的格式。比如:在密码框中输入的密码不能显示出来,只能以“*”形式显示,那么只需要在【输入掩码】文本框内设置为“*”即可。输入掩码可以打开一个向导,根据提示输入正确的掩码。244 4.使用设计器创建表的一般步骤对表设计器、字段、字段属性、字段数据类型有所了解之后,现在再来看用表设计器创建表的一般步骤。⑴打开空表设计器。244 ⑵输入【客户编号】字段名,设置为主关键字段(主键)。⑶设定数据类型为“数字”。⑷用同样的方法建立【客户名】、【联系人】、【联系电话】等字段并设置字段的属性。244 ⑸输入说明文字。保存表结构的设计,用另存为,给出表名。⑹查看表视图,可输入记录数据。5.通过输入数据建立表Access2003还提供了一种通过输入数据建立表的方法。如果没有确定表的结构,但是手中有表所要存储的数据,可直接采用此方法建立表。在新建表时,选取【数据表视图】即可进入此方法。默认情况下,该表有10个字段,可增删,可重命名。四、设定表之间的关系数据库中的各表之间并不是孤立的,它们彼此之间存在或多或少的联系,这就是“表间关系”244 。这也正是数据库系统与文件系统的重点区别。1.表的索引当表中的数据很多时,需要利用索引帮助用户更有效地查询数据。⑴索引的概念索引的概念涉及到记录的物理顺序与逻辑顺序。文件中的记录一般按其磁盘存储顺序输出,这种顺序称为物理顺序。索引不改变文件中记录的物理顺序,而是按某个索引关键字(或表达式)来建立记录的逻辑顺序。在索引文件中,所有关键字值按升序或降序排列,每个值对应原文件中相应的记录的记录号,这样便确定了记录的逻辑顺序。今后的某些对文件记录的操作可以依据这个索引建立的逻辑顺序来操作。请看下面,第一张表是原表文件内容,第二张表是依据“学生姓名”建立的一个排序文件,第三张表是依据“学生姓名”建立的一个索引文件。244 显然,索引文件也会增加系统开销,我们一般只对需要频繁查询或排序的字段创建索引。而且,如果字段中许多值是相同的,索引不会显著提高查询效率。以下数据类型的字段值能进行索引设置:字段数据类型为文本、数字、货币、日期/时间型,搜索保存在字段中的值,排序字段中的值。表的主键将自动被设置为索引,而备注、超链接及OLE对象等类型的字段则不能设置索引。Access2003为每个字段提供了3个索引选项:“无”、“有(有重复)”、“有(无重复)”。⑵单字段索引244 索引可分为单一字段索引和多字段索引两种。一般情况下,表中的索引为单一字段索引。建立单一字段索引的方法如下:◆打开表设计视图,单击要创建索引的字段,该字段属性将出现在【字段属性】区域中。◆打开【常规】选项卡的【索引】下拉列表,在其中选择“有(有重复)”选项或“有(无重复)”选项即可。◆然后保存修改。⑶多字段索引如果经常需要同时搜索或排序更多的字段,那么就需要为组合字段设置索引。建立多字段索引的操作步骤如下:◆在表的设计视图中单击工具栏中的【索引】按钮,弹出索引对话框。◆在【索引名称】列的第一个空行内输入索引名称,索引名称一般与索引字段名相同。◆选字段名称,设置排序次序。注意:建立索引,在很大程度上与表的关联及查询设计有重要意义。244 2.表的主关键字数据库中的每一个表都必须有一个主关键字。它用于保证表中的每条记录都是唯一的。定义主键的方法很简单,具体方法可操作一下。更改主键时,首先要删除旧的主键,而删除旧的主键,先要删除其被引用的关系。3.创建并查看表间关系可以在包含类似信息或字段的表之间建立关系。在表中的字段之间可以建立3种类型的关系:一对一、一对多、多对多;而多对多关系可以转化为一对一和一对多关系。一对一关系存在于两个表中含有相同信息的相同字段,即一个表中的每条记录都只对应于相关表中的一条匹配记录。如雇员表和人力资源表。一对多关系存在于当一个表中的每一条记录都对应于相关表中的一条或多条匹配记录时。如产品表与销售表。⑴创建关系244 在表与表之间建立关系,不仅在于确立了数据表之间的关联,它还确定了数据库的参照完整性。即在设定了关系后,用户不能随意更改建立关联的字段。参照完整性要求关系中一张表中的记录在关系的另一张表中有一条或多条相对应的记录。不同的表之间的关联是通过表的主键来确定的。因此当数据表的主键更改时,Access2003会进行检查。创建数据库表关系的方法如下:◆单击数据库窗口工具栏上的【关系】按钮,或者选择【工具】|【关系】命令,打开关系窗口。选择【显示表】(右击选择),将表添加到设计窗口中。◆拖放一个表的主键到对应的表的相应字段上。根据要求重复此步骤。244 ⑵查看关系关系可以查看和编辑。打开【关系】窗口,即可查看关系;而双击表间的连线,可以编辑任何连接关系,此时弹出编辑窗口。4.表间关系的修改与打印⑴修改和删除关系用户可以编辑已有的关系,或删除不需要的关系。如上所述,双击关系连线,可编辑关系;而右击连线,选择删除,可删除关系。244 ⑵打印关系一旦数据库定义了所有关系,就很容易用图表来说明数据库。要打印关系图,可在【关系】窗口中右击任一空白区并选择【全部显示】命令;选择【文件】|【打印关系】命令,即打印了打印关系图的预览图,右击选择打印,就可在打印机上打印关系图。244 如果要了解数据库关系的更准确信息,包括诸如参照完整性和关系类型等属性,可通过选择【工具】|【分析】命令,打开【文档管理器】来分析了解。五、修改数据库结构244 在创建数据库及表,设定表间关系、表的索引、表的主键之后,随着用户对自己所建数据库的用途更加深入了解,有时候会发现,当初所建数据库及表有很多需要改动的地方,这就涉及到修改数据库、表及对其进行格式化的工作。1.对表的操作在使用中,用户可能会对已有的数据库进行修改,在修改之前,用户应该考虑全面。因为表是数据库的核心,它的修改将会影响到整个数据库。打开的表或正在使用的表是不能进行修改的,必须先将其关闭。如果在网络中使用,必须保证所有用户均已退出使用。关系表中的关联字段也是无法修改的,如果确实要修改,必须先将关联去掉。⑴备份表和复原如果用户需要修改多个表,那么最好将整个数据文件备份。数据库文件的备份,与Windows下普通文件的备份一样,复制一份即可。复制方法很多而且简单,另有一种好方法就是【文件】菜单下的【另存为】选项。⑵删除表244 如果数据库中含有用户不再需要的表,可以将其删除。删除数据库表须慎重考虑,不可轻举妄动,要考虑清楚了,方可实施,它是一个危险的动作。⑶更改表名有时需要将表名更改,使其具有新的意义,以方便数据库的管理。通过【重命名】可以很快地更改表名。⑷设置表属性有两种类型的表属性可以用于Access数据库,一是表对象属性,二是表定义属性。表对象属性包括名称、拥有者、创建日期、最后修正日期以及诸如“隐藏”、“或复制”等特性。244 在设计视图中打开表,同时打开【属性】对话框,可以查看和定义当前设计表的属性。如果要更改默认的表设计属性,可选择【工具】|【选项】命令,打开【表/查询】选项卡。如下两图:244 2.对字段的操作当用户对字段名称进行修改时,可能影响到字段中存放的一些相关数据。如果查询、报表、窗体等对象中使用了这个更名的字段,那么这些对象中也要相应地更改字段名的引用。更名的方法有两种,一是设计视图,二是数据表视图。⑴插入新字段插入新字段也可以在设计视图和数据表视图中分别完成。操作的方法是通过鼠标拖动完成的。⑵移动字段用户可以通过表设计视图来进行移动字段的操作。244 ⑶复制字段Access2002提供了复制字段功能,以便在建立相同或相似的字段时使用。它通过剪贴板操作完成。⑷删除字段删除字段可以在两种视图中完成。应当注意:删除字段将导致该字段的数据无法恢复。⑸修改字段属性用户可以在设计表结构之后,重新更改字段的属性。其中最主要的是更改字段的数据类型和字段长度。3.数据的有效性⑴定义字段有效性规则字段的有效性规则允许用户限定字段的值,例如:可以限制年龄字段中年龄的输入不能超过0~120这一范围。向【有效性规则】文本框中输入一个表达式,就可以定义一个字段中值的简单核查规则。要设置有效性规则,可以在表设计窗口中单击【有效性规则】右边的按钮,打开【表达式生成器】。244 一般情况下,一个字段的有效性规则表达式中包含一个运算符和一个比较值。运算符有如下几种:<><=>==<>In(A1,A2,…,An)检查输入数据是否为括号内中的某一值。BetweenA1AndAn要求输入值必须介于两值之间。Like检查一个文本或备注字段的值是否匹配一个模式字符串。其通配符如下:?指代任何单一字符。*指代零个或多个字符,用来定义标题、结尾。#指代单个数字。244 或以使用AND或OR操作符来组合准则,有效性规则可以含有用于同一字段的多个准则。下表给出规则与实例及相应有效性消息。规则Access2003表达式标准消息<>0<>0数值必须不是0100or200100or200数值必须是100或200C*Like“C*”文本必须以“C”开头C*orD*Like“C*”orLike“D*”文本必须以“C”或“D”开头C??tLike“C??t”以“C”开头“t”结尾的4字符。>=01/01/99And<01/15/99>=#1/1/99#And#1/15/99#99年1月1日与99年1月15日之间NotCANot“CA”字段可包含除“CA”外的任意值⑵定义记录有效规则244 记录有效规则是一个表属性而不是一个字段属性。一个表只能定义一条记录有效规则,若要使用多条准则,可利用AND或OR操作符把这些准则组合在一个表达式中。4.对数据表的行与列的操作⑴行操作可以调整行高,通过对话框方式或直接用鼠标完成此操作。⑵列操作由于屏幕大小限制,有时需要隐藏某些字段。隐藏列的操作十分简单:使某一列宽为0即将该列隐藏。恢复隐藏列的操作须在数据一视图下选择【格式】|【取消隐藏列】命令,弹出【取消隐藏列】对话框。244 六、使用与编辑数据表1.更改数据表的显示方式⑴改变字体用户可根据需要来选择不同的字体。选择【格式】|【字体】命令,将单出【字体】对话框。⑵设置单元格效果用户可以对数据表的单元格效果进行设置。其操作方法为选择【格式】|【数据表】命令,弹出【设置数据表格式】对话框。244 2.修改数据表中的数据⑴插入新数据当向一个空表或者向已有数据的表增加新的数据时,都要使用插入新记录的功能。⑵修改数据在数据表视图中,用户可以方便地修改已有的数据记录。注意保存。244 ⑶替换数据如果想把数据表中的某个数据替换为另一个数据,可以进行如下操作:在数据表视图中选中要替换的字段内容,然后选择【编辑】|【替换】命令,弹出【查找和替换】对话框。⑷复制、移动数据利用剪贴板功能可以很方便地进行复制、移动数据操作功能。⑸删除记录可以利用【编辑】|【删除】进行删除操作,也可有快捷键方式完成该操作。3.排列数据Access2003244 根据主键值自动排序记录。在数据检索和显示期间,用户可以按不同的顺序来排序记录。在数据表视图中,可以对一个或多个字段进行排序。升序的规则是按字母顺序排列文本,从最早到最晚排列日期/时间值,从最低到最高排列数字与货币值。亦可对子表进行如上操作。对于多个字段的排序,Access2003使用从左到右的优先排序权。排序后可存放,而产生物理排序后的文件。244 4.查找数据用户可以在数据表视图中查找指定的数据,其操作是通过【编辑】|【查找】命令来完成的。5.筛选数据筛选数据是只将符合筛选条件的数据记录显示出来,以便用户查看。筛选方法有5种,分别按窗体筛选、按选定内容筛选、输入筛选、高级筛选/排序、内容排除筛选。⑴按窗体筛选在数据表视图下,工具栏上有两个按钮:【按窗体筛选】按钮、【应用筛选】按钮。⑵按选定内容筛选按选定内容筛选是指先选定数据表中的值,然后在数据表中找出包含此值的记录。先在数据表中选中字段中某记录的值,然后,选择【记录】|【筛选】|【按选定内容筛选】命令,单击工具栏上的【按选定内容筛选】按钮。⑶内容排除筛选244 用户有时不需要查看某些记录,或已经查看过记录而不想再将其显示出来,这时就要用排除筛选。方法是:先在数据表中选中字段中某记录的值,然后,选择【记录】|【筛选】|【内容排除筛选】命令。右击需要的值并从快捷菜单中选择【内容排除筛选】命令。⑷输入筛选输入筛选根据指定的值或表达式,查找与筛选条件相符合的记录。其操作过程如下:在数据表视图中单击要筛选的列的某一单元格,然后右击,弹出快捷菜单。在筛选目标中输入筛选内容。6.高级筛选与排序244 高级筛选与排序可以应用于一个或多个字段的排序或筛选。高级筛选/排序窗口分为上下两部分,上面是含有表的字段列表,下面是设计网格。⑴创建筛选要创建一个高级筛选,首先要把字段添加到用于排序和规定筛选准则的设计网格中。⑵设置筛选条件在【条件】行中,可添加要显示记录的条件,它的设置方法与按窗体筛选的设置方法一样。⑶筛选的使用244 用户如果保存了筛选,则该筛选与表一起保存,而不作为独立的对象保存。当用户再次打开该表时,筛选不再起作用。如果用户想在一个表中使用多个筛选或永久保存一个筛选,必须将其作为一个查询保存起来。⑷筛选的取消和删除用户还可以取消和删除筛选。单击工具栏上的【取消筛选/排序】按钮。若要完全删除一个筛选,就要通过【清除网格】、【应用筛选】、【关闭】、【高级筛选/排序】等操作来完成。七、使用查阅向导在查看与另一个表链接的某个表时,该表通常包含一个外键(一般是另一个表的主键)。在浏览被链接的表时,外键字段通常是含义不明的,除非把两个表链接并通过查询视图查看数据,否则不能明确该字段的实际值。例如,在上图表中,任课老师只有ID号,而不知到底是谁。这需要修改字段的显示特点,使它不显示实际内容,而显示另一个表中的查找值(任课老师名)。下面通过实例说明:244 ◆打开班级表数据表视图,切换到设计视图。◆选中【任课老师ID】字段的数据类型,打开【查阅】选项卡,可以看到当前显示的控件类型是文本框。打开【常规】选项卡。◆单击【任课老师ID】字段数据类型的下三角按钮显示数据类型为“查阅向导”,它不是一种数据类型,而只是一种查阅方式而已。◆系统开启查阅向导244 ◆向导询问“请选择为查阅提供数值的表或查询”,我们选择“teacher”244 ◆向导显示teacher的所有字段,选择“任课老师ID”和“姓名”◆进入下一步,设置顺序244 ◆指定查问列中列的宽度244 ◆指定标签◆显示结果244 八、使用子数据表有时在查看数据表中的信息时,用户可能想同时看到们于不同表中的关系记录。Access2003具有查看数据表视图中层次式的数据能力。可以在表设计中手工建立子数据表,或者让数据库根据表之间的关系自动确定子数据表。子数据表的有关操作与主表类型似。Access教程第三章查询◆查询的概念、种类和作用。◆各种查询的建立。◆查询的应用。一、查询的概念1.什么是查询查询就是依据一定的查询条件,对数据库中的数据信息进行查找。它与表一样,都是数据库的对象。它允许用户依据准则或查询条件抽取表中的记录与字段。Access2003中的查询可以对一个数据库中的一个或多个表中存储的数据信息进行查找、统计、计算、排序等。244 有多种设计查询的方法,用户可以通过查询设计器或查询设计向导来设计查询。查询结果将以工作表的形式显示出来。显示查询结果的工作表又称为结果集,它虽然与基本表有着十分相似的外观,但它并不是一个基本表,而是符合查询条件的记录集合。其内容是动态的。244 2.查询的种类Access2003提供多种查询方式,查询方式可分为选择查询、汇总查询、交叉表查询、重复项查询、不匹配查询、动作查询、SQL特定查询、以及多表之间进行的关系查询。这些查询方式总结起来有4类:选择查询、特殊用途查询、操作查询和SQL专用查询。3.查询的作用和功能查询是数据库提供的一种功能强大的管理工具,可以按照使用者所指定的各种方式来进行查询。查询基本上可满足用户以下需求:◆指定所要查询的基本表。◆指定要在结果集中出现的字段。◆指定准则来限制结果集中所要显示的记录。◆指定结果集中记录的排序次序。◆对结果集中的记录进行数学统计。244 ◆将结果集制成一个新的基本表。◆在结果集的基础上建立窗体和报表。◆根据结果集建立图表。◆在结果集中进行新的查询。◆查找不符合指定条件的记录。◆建立交叉表形式的结果集。◆在其他数据库软件包生成的基本表中进行查询。作为对数据的查找,查询与筛选有许多相似的地方,但二者是有本质区别的。查询是数据库的对象,而筛选是数据库的操作。下表指出了查询和筛选之间的不同:功能查询筛选——————————————————————————————用作窗体或报表的基础是是排序结果中的记录是是如果允许编辑,就编辑结果中的数据是是向表中添加新的记录集是244 否只选择特定的字段包含在结果中是否作为一个独立的对象存储在数据库中是否不用打开基本表、查询和窗体就能查看结果是否在结果中包含计算值和集合值是否——————————————————————————————二、创建查询用户可以打开数据库窗口,选择【查询】对象,然后单击工具栏中的【新建】按钮,弹出【新建查询】对话框。1.简单选择查询244 简单选择查询通过简单查询向导来快速完成。244 如果要添加汇总,则进行下一步操作而不选择【明细】。下面是汇总选项:244 如果不用向导设计查询而用查询设计器进行查询设计,并且要在查询中添加汇总选项,则需要手工添加一些汇总函数:Sum求总和Avg平均值Min最小值Max最大值244 Count计数StDev标准差Var方差First第一条记录Last最后一条记录2.交叉表查询向导交叉表查询以表的形式显示出摘要的数值,例如某一字段的总和、计数、平均等。并按照列在数据表左侧的一组标题和列在数据表上方的另一组标题,将这些值分组,在数据工作表中分别以行标题和列标题的形式显示出来,用于分析和比较。例如:产品表如下要从基本表中得到如下信息:某一类别产品的“库存量”及其“供应商”。244 方法步骤图解如下:244 244 244 3.查找重复项查询向导查找重要项查询向导,可以帮助用户在数据表中查找具有一个或多个字段内容相同的记录。此向导可以用来确定基本表中是否存在重复记录。如果要得到如下面所示的结果集:244 则可进行如下操作步骤:244 244 244 4.查找不匹配项查询向导查找不匹配项查询向导,是用来帮助用户在数据中查找不匹配记录的向导。如要查找【产品】表中的供应商ID与【供应商】表中的供应商ID不匹配的记录。步骤分解如下:244 244 5.用查询设计器创建查询使用向导只能建立简单的、特定的查询。Access2003244 还提供了一个功能强大的查询设计器,通过它不仅可以从头设计一个查询,而且还可能对已有的查询进行编辑和修改。下图即为查询设计器:【设计器】主要分为上下两部分,上面放置数据库表、显示关系和字段;下面给出设计网格,网格中有如下行标题:◆字段查询工作表中所使用的字段名◆表该字段所来自的数据表◆排序是否按该字段排序◆显示该字段是否在结果集工作表中显示◆条件查询条件◆或用来提供多个查询条件244 上面的工具栏上有如下按钮:◆视图每个查询有5种视图(设计、数据表、SQL、数据透视表、数据透视图表)◆查询类型选择、交叉表、更新、追加、生成表、删除。◆运行运行查询◆显示表显示所有可用的表◆总计在查询设计区中增加【总计】行,可用于求和、求平均等◆上限值用户可指定显示范围◆属性显示当前对象属性◆生成器弹出【表达式生成器】◆数据库窗口回到数据库窗口◆新对象建立数据库的新对象6.用查询设计器进一步设计查询⑴添加表/查询⑵更改表或查询间的关联⑶删除表/查询244 ⑷添加插入查询的字段⑸删除、移动字段⑹设置查询结果的排序⑺设置字段显示属性7.查询及字段的属性设置244 8.设置查询准则查询设计视图中的准则就是查询记录应符合的条件。它与在设计表时设置字段的有效性规则的方法相似。⑴准则表达式And与操作“A”And“B”Or或操作“A”Or“B”244 Between…And指定范围操作Between“A”And“B”In指定枚举范围In(“A,B,C”)Like指定模式字符串Like“A?[A~f]#[!0~9]*”如:AuD3q98e32ww⑵在表达式中使用日期与时间在准则表达式中使用日期/时间时,必须要在日期值两边加上“#”。下面写法都是正确的:#Feb12,98#、#2/12/98#、#1221998#。相关内部函数:Date()返回系统当前日期Year()返回日期中的年份Month()返回日期中的月份Day()返回日期中的日数Weekday()返回日期中的星期数Hour()返回时间中的小时数Now()返回系统当前的日期与时间⑶表达式中的计算A+B两个数字型字段值相加,两个文本字符串连接A-B两个数字型字段值相减A*B两个数字型字段值相乘A/B两个数字型字段值相除244 AB两个数字型字段值相除四舍五入取整A^BA的B次幂Mod(A,B)取余,A除以B得余数A&B文本型字段A和B连接⑷使用准则表达式生成器三、创建特殊用途查询数据查询未必总是静态地提取统一信息。只要用户把搜索类别输入到一个特定的对话框中,就能在运行查询时对其进行修改。例如:当用户希望能够规定所需要的数据组进,就需要使用一个参数查询。另一个特殊用途的查询就是把字段值自动填充到相关表中的“244 自动查询”查询。“自动查询”查询通过查找用户输入在匹配字段中的数值,并把用户指定的信息输入到相关表的字段中。1.参数查询如用户想要查询价格在10~30元之间的各种产品,并想知道产品的供应商和产品的类别。这需要向查询设计器中添加【产品】、【供应商】、【类别】三个表。具体步骤如下:首先打开查询设计器,将数据表添加到上面。添加字段。并给出条件:Between[输入最低值]And[输入最高值]244 然后运行,输入两参数:可查看到结果:244 如要改变参数类型,可打开【查询】|【参数】对话框来解决:2.自动查找查询自动查询查询使用具有一对多关系的两个表,若要创建一个自动查找查询,首先把两个相关表添加到查询设计窗口,然后把匹配字段从“多”方拖到网格上。这种查询是查找“一”方中的相关记录并从匹配记录中的其他字段检索数值。244 下面创建一个在【供应商】列中选择一个供应商时,自动填充【联系人姓名】、【地址】、【邮政编码】、【电话】的自动查找查询。具体操作如下:运行,在底部通过选择供应商而添加记录,其中“一”方表中的公司名称、联系人姓名、地址、邮政编码、电话等字段将自动加上。而“多”方的产品名称则须人工加上。244 3.交叉表查询交叉表查询是一种特殊的合计查询类型,可以使数据按电子表格的方式显示查询结果集,这种方式在水平与垂直方向同时对数据进行分组,使数据的显示更为紧凑。这一点在前面已讨论过了。下面我们再创建一个雇员销售订单金额汇总表。由于每一个定单中有多个订单明细产品,所以金额必须求和。所以按订单分组,利用表达式[数量]*[单价]求和即可,并按雇员分列之。244 四、操作查询操作查询用于同时对一个或多个表执行全局数据管理操作。操作查询可以对数据表中原有的数据内容进行编辑,对符合条件的数据进行成批的修改。因此,应该备份数据库。1.更新查询更新查询用于同时更改许多记录中的一个或多个字段值,用户可以添加一些条件,这些条件除了更新多个表中的记录外,还筛选要更改的记录。大部分更新查询可以用表达式来规定更新规则。如下表实例:字段类型表达式结果244 ————————————————————————————————————货币[单价]*1.05把“单价”增加5%日期#4/25/01#把日期更改为2001年4月25日文本“已完成”把数据更改为“已完成”文本“总”&[单价]把字符“总”添加到“单价”字段数据的开头是/否Yes把特定的“否”数据更改为“是”244 2.追加查询当用户要把一个或多个表的记录添加到其他表时,就会用到追加查询。追加查询可以从另一个数据库表中读取数据记录并向当前表内添加记录,由于两个表之间的字段定义可能不同,追加查询只能添加相互匹配的字段内容,而那些不对应的字段将被忽略。244 244 3.删除查询删除查询是所有查询操作中最危险的一个。删除查询是将整个记录全部删除而不只是删除查询所使用的字段。查询所使用的字段只是用来作为查询的条件。可以从单个表删除记录,也可以通过级联删除相关记录而从相关表中删除记录。4.生成表查询生成表查询可以从一个或多个表/查询的记录中制作一个新表。在下列情况下使用生成表查询:◆把记录导出到其数据库。如创建一个交易已完成的订单表,以便送到其它部门。◆把记录导出到Excel/Word之类的非关系应用系统中。◆对被导出的信息进行控制。如筛选出机密或不相干的数据。244 ◆用作在一特定时间出现的一个报表的记录源。◆通过添加一个记录集来保存初始文件,然后用一个追加查询向该记录集中添加新记录。◆用一个新记录集替换现有的表中的记录。例如,要以【产品】表为基础,查询出【产品名称】、【类别】、【单价】、【库存量】并生成一个新表:244 五、SQL专用查询结构化查询语言(即SQL语言)是最重要的关系数据库操作语言,在过去的几年中,SQL语言已经发展成为标准的计算机数据库语言。1986年美国国家标准协会ANSI(AmericanNationalStandardsInstitute)和国际标准化组织ISO(InternationalStandards244 Organization)颁布了SQL正式标准,同是时确认SQL语言为数据库操作的标准语言,现在已有100多种遍布在从微机到大型机上的数据库产品SQL产品。SQL语言基本上独立于数据库本身及其使用的机器、网络、操作系统,基于SQL的DBMS开发商所提供的产品一般都具有良好的可移植性。SQL语言最初由IBM的研究人员在70年代提出,最初的名称为SEQUEL(结果),从80年代开始改名为SQL,看似是SEQUEL的缩写,但一般又理解为结构化查询语言StructureQueryLanguage。下面讨论1991年ANSI制定的SQL语言的核心。VFP的SELECT-SQL可以据此理解之。1.对单个表进行查询下面考虑SQL对单个表进行简单的查询。为了进行实例分析,下面我们先建立三个表:学生信息表ST:学生注册表EN:244 面授安排表CL:⑴使用SQL进行投影投影是指取表的某些列的字段值。下面是使用SQL语句进行投影的例子,从ST表中列出需要的学号、姓名和主修:244 ⑵使用SQL进行选择选择是指到表的某些行的记录值。请看下面的例子:SELECT学号,姓名,主修,年龄FROMSTWHERE主修=‘MATH’SELECT*FROMSTWHERE主修=‘MATH’上述两条件命令的结果是一样的。我们可以将投影和选择进行合并如下:SELECT姓名,主修,年龄FROMSTWHERE主修=‘MATH’SELECT姓名,主修,年龄FROMSTWHERE主修=‘MATH’AND年龄>21244 SELECT姓名,主修,年龄FROMSTWHERE主修IN(‘MATH’,‘ACCOUNTING’)SELECT姓名,主修,年龄FROMSTWHERE主修NOTIN(‘MATH’,‘ACCOUNTING’)⑶SQL排序SELECT姓名,主修,年龄FROMSTWHERE主修=‘ACCOUNTING’ORDERBY姓名SELECT姓名,主修,年龄FROMSTWHERE主修IN(‘MATH’,‘ACCOUNTING’)ORDERBY姓名DESC,年龄ASC244 ⑷SQL内置函数SQL主要提供了前面我们提到的五个内置函数:COUNT、SUM、AVG、MAX、MIN。SELECTCOUNT(*)FROMST上述语句计算表ST中的行数,并用一行一列表示出来。注意:除非和GROUPBY相连,在查询的项中SELECT后内置函数一般不和字段名一起使用。如下面的查询语句虽然不是非法的,但结果的含义不清:⑸SQL内置函数和分组244 为了增强统计内置函数的功能,内置函数可以和分组函数合用,将源表中的数据分组,再对每一分组生成一个汇总行。例如:学生可以按照主修专业进行分组,这意味着每一个专业将形成一个分组,然后可以对每一组进行一定的统计。有时,我们不需要得到每一个分组的值,例如,我们对学生按照专业进行分组,然后只需要具有两个以上的行数的分组,在这种情况下,我们需要用到SQL中的HAVING关键字对不符合条件的分组进行过滤。下面的SQL语句可以统计出具有两个以上学生的专业,并统计该专业的学生数。在上面的查询中,还可以对查询的学生进行条件选择,使用关键字WHERE进行查询,但是这样会产生一定的模糊性,请看下例的结果,分析之:244 从上述结果来看,首先选择适合条件的学生,对选择出来的学生进行分组,去除不适合HAVING条件的分组,显示得到结果。2.对多个表进行查询下面我们将讨论基于两个或更多的表的SQL查询语句。下面的例子基本上针对ST、CL和EN三个表而言。学生信息表ST:244 学生注册表EN:面授安排表CL:244 ⑴带有子查询的SQL查询语句假设我们需要知道入学到A100班的学生的名字,则来通过两个步骤:首先通过条件班名为‘A100’在EN表中找到学生的学号,然后通过上面找到的学号‘100’和‘200’在ST表中找出这些学生的姓名。如下面的两个查询语句:我们将第二个查询语句称为子查询(SUBQUERY),它嵌套在主查询的条件中。这种查询方式是很有用的,但要注意子查询的结果与主查询的条件的类型匹配问题。对于一般的SQL查询语句而言,子查询可以嵌套二层以上甚至更多,但VFP对子查询的深度进行了限制。请看下面的语句:244 同时通过上述查询,我们得到一个重要的结论,RYE的报名有问题,或要将面授时间作调整,大家可以思考为什么?⑵SQL联接查询子查询的结果总是来自一个表,如果同时提供来自不同的表的数据(如每一个学生的学号、姓名、所在班名等),则必须将多个表(ST、EN)相联接。请看下面的语句:244 3.回顾专用查询在专用查询中,使用了除SELECT以外的其它几个操作语句:UPDATE、INSERTINTO、DELETE、SELECTINTO等等。244 Access教程第四章报表◆报表的功能◆报表的设计◆报表的记录分组和排序◆报表的打印和预览一、报表的功能尽管数据表和查询都可用于打印,但是,报表才是打印和复制数据库管理信息的最佳方式,可以帮助用户以更好的方式表示数据。报表既可以输出到屏幕上,也可以传送到打印设备。244 报表是查阅和打印数据的方法,与其他的打印数据方法相比,具有以下两个优点:◆报表不仅可以执行简单的数据浏览和打印功能,还可以对大量原始数据进行比较、汇总和小计。◆报表可生成清单、订单及其他所需的输出内容,从而可以方便有效地处理商务。报表作为Access244 2003数据库的一个重要组成部分,不仅可用于数据分组,单独提供各项数据和执行计算,还提供了以下功能:◆可以制成各种丰富的格式,从而使用户的报表更易于阅读和理解。◆可以使用剪贴画、图片或者扫描图像来美化报表的外观。◆通过页眉和页脚,可以在每页的顶部和底部打印标识信息◆可以利用图表和图形来帮助说明数据的含义。二、报表设计如同数据库中创建的大多数对象一样,用户可以采用多种方式来创建所需的报表。首先,打开数据库窗口,单击【对象】栏下的【报表】按钮,然后单击【报表设计】工具栏上的【新建】,则弹出【新建报表】对话框。1.报表设计工具244 ⑴工具栏视图、对象、超链接、字段列表、工具箱、排序分组、自动套用格式、代码、属性、生成器、数据库窗口、新对象、线条/边框宽度、特殊效果⑵工具箱在报表设计过程中,工具箱是十分有用的,下面具体介绍【工具箱】中的各个控件。◆选择对象用于选定操作的对象。◆控件对象单击该按钮后,在使用其他控件时,即可在向导下完成。◆标签显示标题、说明文字。◆文本框用来在窗体、报表或数据访问页上显示输入或编辑数据,也可接受计算结果或用户输入。◆选项组显示一组限制性的选项值。◆切换按钮当表内数据具有逻辑性时,用来帮助数据的输入。◆选项按钮与切换按钮类似,属单选。◆复选框选中时,值为1,取消时,值为0。属多选。◆组合框包括了列表框和文本框的特性。244 ◆列表框用来显示一个可滚动的数据列表。◆命令按钮用来执行某些活动。◆图像加入图片。◆非绑定对象框用来显示一些非绑定的OLE对象。◆绑定对象框用来显示一系列的图片。◆分页符用于定义多页数据表格的分页位置。◆选项卡控件创建带有选项卡的对话框。◆子窗体/子报表用于将其他表中的数据放置在当前报表中。◆直线划直线。◆矩形划矩形。◆其他控件显示Access2003所有已加载的其他控件。⑶工作区244 ◆报表页眉以大的字体将该份报表的标题放在报表顶端。只有报表的第1页才出现报表页眉内容。报表页眉的作用是作封面或信封等。◆页面页眉页面页眉中的文字或字段,通常会打印在每页的顶端。如果报表页眉和页面页眉共同存在于第1页,则页面页眉数据会打印在报表页眉的数据下。◆主体用于处理每一条记录,其中的每个值都要被打印。主体区段是报表内容的主体区域,通常含有计算的字段。◆页面页脚页面页脚通常包含页码或控件,其中的【=“第”&[page]&“页”】表达式用来打印页码。◆报表页脚用于打印报表末端,通常使用它显示整个报表的计算汇总等。244 除了以上通用区段外,在分组和排序时,有可能需要组页眉和组页脚区段。可选择【视图】|【排序与分组】命令,弹出【排序与分组】对话框。选定分组字段后,对话框下端会出现【组属性】选项组,将【组页眉】和【组页脚】框中的设置改为【是】,在工作区即会出现相应的组页眉和组布脚。⑷属性窗口244 2.使用向导创建报表创建报表最简单的方法是使用向导。在报表向导中,需要选择在报表中出现的信息,并从多种格式中选择一种格式以确定报表外观。与自动报表向导不同的是,用户可以用报表向导选择希望在报表中看到的指定字段,这些字段可来自多个表和查询,向导最终会按照用户选择的布局和格式,建立报表。新建报表:选择表和字段244 按学分分组:按课程ID排序:244 选择报表布局:244 选择报表样式:确定报表标题:244 运行报表结果:3.自动创建报表及图表向导⑴自动创建报表报表向导提供的自动创建报表有两种格式:一种是纵栏式,另一种是表格式。244 244 ⑵自动创建图表如果需要将数据以图表的形式表示出来,使其更加直观,就可使用图表向导创建报表。图表向导功能强大,提供了几十种图表形式供用户选择。新建报表向导,选择图表向导,和数据来源表:选择图表数据所在字段:244 选择图表的类型:244 指定图表的布局:244 指定图表的标题:运行图形报表,得到结果图:4.标签向导标签向导的功能强大,它不但支持标准型号的标签,也支持自定义标签的创建。244 244 244 5.使用报表设计视图244 下面介绍如何利用工具箱进行简单的报表创建。以罗斯文数据的【产品】数据表为例,创建报表。启动【新建报表】:报表设计工作区如下:244 ⑴向报表工作区添加控件:报表中的每一个对象,都称为之为控件,控件分为三种:◆绑定控件绑定控件与表字段绑定在一起。在向绑定控件输入值时,Access自动更新当前记录中的表字段值。大多数允许输入信息的控件都是绑定控件。绑定控件可以与大多数数据类型捆绑在一起,包括文本、日期、数值、是/否、图片、备注字段。◆非绑定控件非绑定控件保留所输入的值,不更新表字段值。这些控件用于显示文本、把值传递给宏、直线和矩形、存放没有存储在表中但保存窗体或报表的OLE对象。◆计算控件计算控件是建立在表达式(如函数和计算)基础之上的。计算控件也是非绑定控件,它不能更新字段值。用户可以在设计视图中对控件进行如下操作:◆通过鼠标拖动创建新控件、移动控件。◆通过按Del键删除控件。◆激活控件对象,拖动控件的边界调整控件大小。◆利用属性对话框改变控件属性。◆通过格式化改变控件外观,可以运用边框、粗体等效果。◆对控件增加边框和阴影等效果。向报表中添加非绑定控件,可通过从【工具箱】中选择相应的控件,拖动到报表上即可。244 向报表中添加绑定控件是一项重要工作,这类控件主要是文本框,它与字段列表中的字段相结合来显示数据。在报表中创建计算控件时,可使用以下两种方法:如果控件是文本框,可以直接在控件中输入计算表达式。另,不管控件是不是文本框,都可以使用表达式生成器来创建表达式。使用表达式生成器创建计算控件的操作步骤如下:◆在设计视图中打开报表。◆创建或选定一个非绑定的【文本框】。◆单击【报表设计】工具栏中的【属性】。◆打开属性对话框中的【数据】标签,并单击【控件来源】。◆单击表达式生成器按钮,弹出【表达式生成器】。◆单击“=”按钮,并单击相应的计算按钮。◆双击计算中使用的一个或多个字段。◆输入表达式中的其他数值,然后【确定】。244 244 ⑵控件的更改和设置更改控件的方法通常有两种:即在窗体内直接修改或利用属性窗口进行修改。⑶在报表中添加节为了使报表更易于理解,可将报表分成若干节,在报表上以不同的间隔显示信息。默认空白报表有3个节:“页面页眉”、“主体”、“页面页脚”,选择【视图】|【报表页眉/页脚】,可增加两个节:“报表页眉”、“报表页脚”。244 报表的节也具有属性,不过比报表的其他控件的属性要少得多。使用【格式】工具栏上的【填充/背景色】可设置节的颜色;但所有其他的属性,必须使用节的属性对话框进行设置。要打开节的属性对话框,可以双击节中任意空白区域、节的边线或节选择器。⑷属性设置除了可以移动控件的位置和改变控件的尺寸外,还可以通过属性对话框设置控件的其属性。方法是右击需要进行属性设置的控件,在弹出的快捷菜单中选择属性。⑸保存报表244 在对报表进行修改后,单击工具栏中的【保存】,就会弹出【另存为】对话框。在文本框中输入报表名称,然后单击【确定】按钮,就可以保存报表。6.用报表设计视图创建报表下面通过实例说明设计报表的步骤:⑴打开相应数据库,新建报表,选择【设计视图】、选择【订单】表。244 ⑵添加相应字段到报表设计主体区内。⑶添加页面页眉和页面页脚244 其中页面页脚的文本框内容由属性窗口和表达式生成器生成。244 ⑷保存运行得到结果7.报表属性下面是报表的属性窗口,该对话框有五个选项卡,分别是:【格式】、【数据】、【事件】、【其他】、【全部】。244 如果没有用设计视图打开报表,而是选中一个报表后,单击工具栏上的【属性】按钮,则将会弹出另外一种报表属性对话框。8.使用报表快照244 Access2003提供了一种称为报表快照的新型报表。它是一个具有.snp扩展名的独立文件,包含Access2003报表所有页的备份。这个备份包括高保真图形、图标和图片并保存报表的颜色和二维版面。报表快照的优点是,不需要照相复制和邮寄印制版本,接收者就能在线预览并只打印他们所需要的页面。为了查看、打印或邮寄一个报表快照,用户需要安装“快照取景器”程序,它是一个独立的执行程序,它提供了自己的控件、帮助文件和相关文件。在默认情况下,当用户第一次创建一个报表快照时,Access2003就自动安装了“快照取景器”。244 通过电子邮件发送三、报表高级设计下面对报表设计中排序、分组及子报表等内容进行详细讨论。244 1.排序与分组所谓分组,是指按某个字段值进行归类,将字段值相同的记录分在一组之中。而排序是指按某个字段值将记录排序。在设计视图方式打开相应的报表,单击工具栏上的【排序与分组】按钮,弹出对话框,在对话框上部的【字段/表达式】和【排序次序】中选定相应内容,则在下部出现【组属性】区域。系统默认的排序顺序为升序排列。当需要对数据进行分组时,可以单击要设置分组属性的字段或表达式,然后设置其组属性。最多可对10个字段和表达式进行分组。◆组页眉用于设定是否显示该组的页眉。◆组页脚用于设定是否显示该组的页脚。◆分组形式选择值或值的范围,以便创建新组。或用选项取决于分组字段的数据类型。◆组间距指定分组字段或表达式值之间的间距值。244 ◆保持同页用于指定是否将组放在同一页上。下面对不同的分组情况进行介绍:⑴按日期/时间字段分组记录◆每一个值按照字段或表达式相同的值对记录进行分组。◆年按照相同历法中的日期对记录进行分组。◆季度按照相同历法季度中的日期对记录进行分组。◆月份按照同一月份中的日期对记录进行分组。◆周按照同一周中的日期对记录进行分组。◆日按照同一天的日期对记录进行分组。◆时按照相同小时的时间对记录进行分组。◆分按照同一分钟的时间对记录进行分组。⑵按文本字段分组记录244 ◆每一个值按照字段或表达式相同的值对记录进行分组。◆前缀字符按照字段或表达式中前几个字符相同的值对记录进行分组。⑶按自动编号、货币字段或数字字段分组记录◆每一个值按照字段或表达式中相同数值对记录进行分组。◆间隔按照位于指定间隔中的值对记录进行分组。244 ⑷设置排序与分组的步骤在对报表中的数据分组时,可以添加【组页眉】或【组页脚】。组页眉通常包含报表数据分组所依据的字段,称为分组字段,而组页脚通常用来计算每组的总和或其他汇总数据。它们不一定要成对出现。244 2.子报表子报表是出现在另一个报表内部的报表,包含子报表的报表称为主报表。主报表中包含的是一对多关系中的“一”,而子报表显示“多”的相关记录。一个主报表,可以是结合型,也可以是非结合型。也就是说,它可以基于查询或SQL语句,也可以不基于它们。通常,主报表与子报表的数据来源有以下几种联系:◆一个主报表内的多个子报表的数据来自不相关记录源。在此情况下,非结合型的主报表只是作为合并的不相关的子报表的“容器”使用。244 ◆主报表和子报表数据来自相同数据源。当希望插入包含与主报表数据相关信息的子报表时,应该把主报表与一查询或SQL语句结合起来。◆主报表和多个子报表数据来自相关记录源。一个主报表也可以包含两个或多个子报表共用的数据,在此情况下,子报表包含与公共数据相关的详细记录。244 四、预览及打印报表1.预览报表单击数据窗口中【对象】栏下的【报表】按钮,选中所需预览的报表后,单击工具栏中的【预览】按钮,即进入【打印预览】窗口。打印预览与打印真实结果一致。如果报表记录很多,一页容纳不下,在每页的下面有一个滚动条和页数指示框,可进行翻页操作。2.报表打印244 打印报表的最简单方法是直接单击工具栏上的【打印】按钮,直接将报表发送到打印机上。但在打印之前,有时需要对页面和打印机进行设置。AAccess教程第五章窗体◆窗体的功能◆窗体的设计◆窗体中的数据操作244 ◆窗体的打印和预览一、窗体的功能窗体和报表都用于数据库中数据的维护,但两者的作用是不同的。窗体主要用来输入数据,报表则用来输出数据。具体来说,窗体具有以下几种功能:◆数据的显示与编辑窗体的最基本功能是显示与编辑数据。窗体可以显示来自多个数据表中的数据。此外,用户可以利用窗体对数据库中的相关数据进行添加、删除和修改,并可以设置数据的属性。用窗体来显示并浏览数据比用表和查询的数据表格式显示数据更加灵活,不过窗体每次只能浏览一条记录。◆数据输入用户可以根据需要设计窗体,作为数据库中数据输入的接口,这种方式可以节省数据录入的时间并提高数据输入的准确度。窗体的数据输入功能,是它与报表的主要区别。◆应用程序流控制与VB窗体类似,Access2003中的窗体也可以与函数、子程序相结合。在每个窗体中,用户可以使用VBA编写代码,并利用代码执行相应的功能。◆信息显示和数据打印在窗体中可以显示一些警告或解释信息。此外,窗体也可以用来执行打印数据库数据的功能。244 二、窗体设计与设计报表类似,用户也可以采用多种方式创建数据库中的窗体。Access2003提供了9种创建窗体的方式。如下图的【新建窗体】对话框列出的示。1.窗体设计概述⑴工具栏⑵工作区244 ⑶工具箱⑷属性窗口⑸字段列表244 2.使用自动创建窗体向导创建窗体在Access2003中,表是由字段和记录构成的。类似地,窗体的基本构件就是“控件”。控件比构成表的字段和记录更灵活些,它能包含数据,运行一项任务,或是通过添加诸如直线或矩形之类的图形元素来强化窗体设计,还可以在窗体上使用许多不同种类的控件,包括复选框、矩形块、文本框、分页符、选项按钮、下拉列表框等。自动创建窗体向导创建的窗体包含窗体所依据的表中的所有字段的控件。当字段显示在窗体中时,Access2003会给窗体添加两类控件:文本框和标签。⑴纵栏式窗体在纵栏式布局中,每次仅能看到一个记录。文本框及所附标签并排显示在两栏中。标签显示在每个文本框的左面并标识文本框中的数据。244 ⑵表格式窗体在表格式布局里,标签显示于窗体顶端,而各字段的值则出现在标签下方的表格里,而且可同时显示多条记录。⑶数据表窗体数据库表布局同样以行和列的形式显示数据,所以窗体类似于在数据表视图下显示的表,纵栏式和表格式布局中的一些窗体格式在数据表布局里无法使用。相对于数据表视图而言,数据表窗体具有自定义的窗体方式。244 3.使用窗体向导创建窗体使用窗体向导来创建窗体,格式将比自动创建窗体要丰富一些。首先选择新建窗体中的【窗体向导】,可确定要使用的表。确定窗体上使用哪些字段。244 4.使用图表向导创建窗体以上所创建的窗体,大都以数据形式为主。为了使窗体更形象,或为了特殊需要,可以使用图表向导来创建带有图表的窗体。244 244 5.使用设计视图创建窗体在创建窗体的各种方法中,更多的时候是使用设计视图来创建窗体,因为这种方法更为灵活直观。244 其一般步骤是打开窗体设计视图、添加控件、控件更改,然后可以对控件进行移动、改变大小、删除、设置边框、阴影和粗体、斜体等特殊字体效果等操作,来更改控件的外观。另外,通过属性对话框,可以对控件或工作区部分的诸如格式、数据事件等属性进行设置。下面以【订单】表为例,使用设计视图创建一个简单窗体。244 再看一例:创建“雇员销售窗体”下面是创建的窗体:244 之前建立的订单及明细查询:金额表达式的生成:244 6.创建子窗体如同存在子报表一样,也有子窗体。子窗体是指在一个窗体中插入的窗体。将多个窗体合并时,其中一个窗体作为主窗体,其余作为子窗体。主窗体和子窗体一般有三种关系:◆主窗体中多个子窗体的数据来自不相关的记录源。在这种情况下,非结合型主窗体只是作为多个子窗体的集合。◆主窗体和子窗体数据来自相同的数据源。◆主窗体和子窗体数据来自相关的数据源。当子窗体只显示与主窗体相关的记录时,意味着主窗体和子窗体是同步的。要实现同步,作为窗体基础的表或查询与子窗体的基础表或查询之间必须是一对多关系。作为主窗体基础的表必须是一对多关系中的“一”,而作为子窗体基础的表必须是一对多关系中的“多”。244 下面创建一个雇员的主窗体,然后增加一个子窗体来显示每个雇员发出的订单明细情况。244 7.创建切换面板切换面板是一种带有按钮的特殊窗体,用户可以通过单击这些按钮在数据库的窗体、报表、查询和其他对象中查看、编辑或添加数据。当用Access2003“数据库向导”创建一个数据库时,系统将自动为数据库添加一个切换面板作为用户界面。244 切换面板上的每一个条目都连接到切换面板的其他页,或链接到某个动作。切换面板不仅提供了一个友好的界面,还可以避免用户进入数据库窗口——特别是窗体或报表的设计视图。通过切换面板管理器,用户可以对向导提供的切换面板进行修改,也可以自己创建切换面板。数据库的切换面板系统由分层排列的切换面板组成,排列从主切换面板开始,一般扩展到两个或多个子页面。每个页面包括一组项目,项目组含有执行特定操作的命令。绝大多数项目包括一个变量,该变量规定打开哪个窗口、预览哪个报表等。244 244 有关切换面板的说明:⑴添加命令如上图所示,Access2003提供了一些命令类型,具体说明如下:◆转至“切换面板”打开另一个切换面板并关闭自身面板。参数为目标面板名。◆在“添加”模式下打开窗体打开输入用窗体,出现一个空记录。参数为窗体名。244 ◆在“编辑”模式下打开窗体打开查看和编辑数据用窗体。参数为窗体名。◆打开报表打开打印预览中的报表。参数为报表名。◆设计应用程序打开切换面板管理器以对当前面板进行更改。参数无。◆退出应用程序关闭当前数据库。参数无。◆运行宏运行宏。参数为宏名。◆运行代码运行一个VB过程。参数为VB过程。⑵打开另一个切换面板用户可以在一个切换面板中打开另一个切换面板。如果数据库中没有另一个切换面板,用户可以创建一个。⑶修改切换面板如果用户想修改已经创建好的切换面板,可选择【工具】|【数据库实用工具】|【切换面板管理器】命令,进行编辑。也可以在设计视图状态下打开切换面板并修改之。三、窗体中数据的操作244 创建完窗体之后,可以对窗体中的数据进行进一步操作,如数据的查看、添加以及修改、删除等。除此之外,还可以对数据进行查找、排序和筛选等。在窗体的操作中,有些操作不会更改窗体中的记录,当然也就不会更改创建窗体所依据的表或查询中的数据。如:数据的查看、数据的排序和查找。而有些操作则会更改窗体中的数据,从而也会更改创建窗体所依据的表或查询中的数据。如:记录的添加、删除和修改。请看【窗体视图】工具栏。其中的主要的特殊操作按钮有:视图、升/降序、按选定内容筛选、按窗体筛选、应用筛选、新记录、删除记录、属性、数据库窗口、新对象等。◆按选定内容筛选在窗体中选定某个数据的部分或全部,单击此按钮,屏幕可显示符合选定内容的所有记录。◆按窗体筛选弹出对话框,单击任一字段名,会出现一个下三角按钮,单击之,在下拉列表中会显示窗体中该字段对应的所有值,供用户选择。◆应用筛选在建立筛选后,单击此按钮,可以进行筛选。再次单击,返回。◆新记录单击此按钮,系统将窗体中所有字段对应值置空,当前记录号加1,可添加记录。◆删除记录244 选择要删除的记录后,单击此按钮,将删除所选的记录,且窗体自动显示下一条记录。244 ◆筛选目标可以直接在【筛选目标】文本框中输入数值进行筛选。244 ◆高级筛选如果希望进行较复杂的筛选,则需要使用高级筛选方式。选择【记录】|【筛选】|【高级筛选/排序】命令,此时弹出【筛选】窗口。其操作类似如建立一个查询。244 ◆窗体的预览和打印与报表的情况类似,用户可进行窗体的预览和打印。在打印窗体之前,最好使用打印预览功能对窗体进行预览,然后打印,以上操作可通过单击工具栏上的【打印预览】、【打印】按钮来完成。如果需要对页面或打印机进行设置,可以选择【文件】|【页面设置】命令或【打印】命令进行操作。Access教程第六章数据库实例分析◆数据库总体分析和设计◆数据库的建立◆数据库对象的完善244 本章是对前面学习的回顾、联系和巩固,通过建立一个微型的学生信息数据库实例,来灵活运用前面的知识。一、数据库功能分析所建立的学生信息数据库实例主要有如下功能:◆用户能存储学生个人情况的有关信息。◆用户能存储学生学习情况的有关信息。◆用户能存储学生老师情况的有关信息。◆用户能存储学生住宿情况的有关信息。◆用户能存储学生班级情况的有关信息。◆用户能对上述信息进行录入、修改、删除等操作。◆用户能通过多种方式对上述信息进行查询和统计。◆用户能对查询和统计结果进行报表输出。二、数据库设计与表的建立1.设计表根据上述功能要求,需收集如下信息:◆学生表(Student):学号、姓名、性别、籍贯、年龄、政治面貌、班名、宿舍号244 ◆课程(Class):课程ID、课程名称、任课老师ID、学分、学时◆任课老师(Teacher):任课老师ID、姓名、家庭住址、电话、邮箱◆宿舍(Dormitory):宿舍号、宿舍长、电话、宿舍床位244 ◆班级(Team):班名、系部、成员数、班主任、班长、学习委员、生活委员◆成绩(Score):成绩ID、学号、课程ID、成绩2.建立数据表在设计表的过程中,关键是两个问题,一是要有哪些表,二是表有哪些字段,这是非常重要的起始步骤。这样,实际上就建立了数据库表的结构。下面进一步的是建立数据表的数据。本例输入一些示例数据。具体如下图所示:244 244 244 3.建立表间关系4.练习筛选和查阅向导练习1:查看“班名”为“信科0101”的所有学生的记录。练习2:查看所有“政治面貌”不为空的所有学生记录。练习3:对【课程】表的“任课老师ID”字段进行类型修改,使之能显示为【任课老师】的名字。三、查询设计查询是数据库中使用频率最高的对象之一。前面介绍了Access244 2003的各类查询,它们同样可以用于我们已建立的学生信息数据库。建立查询的关键是设计场景,所谓场景设计就是模拟用户的需要,提出查询需求模式。下面首先回顾一下建立选择查询查询的一般知识和一般步骤,然后设计一些场景,来建立相应的查询示例。1.表达式表达式是由运算符控制的一项或多项操作。在Access2003中可以用表达式完成各种任务。在SQL语句、查询和筛选器中,用表达式可以设置属性,建立条件,定义函数等。系统每次用到表达式时会自动计算表达式的结果,如果表达式在窗体或报表中,在每次刷新窗体或报表时,Access会重新计算表达式的结果。如果果把表达式用作查询中的条件,系统每次执行查询时计算表达式的值。如果在表设计中把表达式用作有效性规则,系统在每次输入字段值时执行该计算。下面是几个表达式的例子:=[CustomerFirstName]&””&[CustomerLastName]——客户姓和名连接=[TotalAmount]-([TotalAmount]*[Discount])<25——打折后金额少于25[Deceased]=Yes——已故244 [AnimalType]=”Cat”And[Gender]=”M”——雄性猫科动物[DateofBirth]Between1/91And12/93——91年1月至93年12月出生的由上可见,表达式通常由运算符、对象名、函数、字面值、常量等值构成。而通过表达式输入框可以创建表达式。2.输入字段条件⑴输入单值字段条件单值条件的输入只要简单地将一个表达式放到一个字段中。表达式可以是示例数据,也可以是函数。如输入字符(文本或备注)条件、利用Like运算符和通配符、指定非匹配值、输入数值条件等。244 244 ⑵在一个字段中输入多个条件使用And、Or、Between...And...,可以为一个字段指定多个条件。另外,还有In运算符和Null值查找。244 244 ⑶在多个字段中输入条件通过查询设计器中的多个字段的【条件】和【或】栏进行设置,可以实现在多个字段中输入条件。3.创建总计查询要创建一个总计查询,首先要创建一个选择查询,然后在查询设计窗口激活“总计:”行。操作方法有二:【视图】|【总计】、【工具栏】|总计按钮。244 ⑴对所有记录进行总计⑵对成组记录进行总计可以在查询设计窗口指定某一字段为分组字段,系统将这个字段中的相同记录分成同组,并对分组进行总计计算。244 对单组进行总计对多组进行总计⑶为总计查询指定条件244 4.创建交叉表查询244 四、报表设计1.创建查询报表244 报表可以看成是查看一个或多个表中数据记录的方式,这个概念是所有报表的基础。前面已介绍了单个表的报表输出,而通过查询报表可以从多个表中收集用户想要的数据。这时,创建报表必须选择【查询或表】并把字段显示在报表上。除非希望在报表上看到单个表的所有记录,否则就要把报表绑定到查询上。可以说,如果希望在多个表中访问数据来产生报表,唯一的方法是将报表和查询绑定在一起。⑴创建查询⑵创建报表并与一个查询绑定244 ⑶设计查询报表244 244 ⑷美化查询报表244 2.创建选项组244 如果一个字段的值是数字类型,可以使用选项组控件来创建报表。而对于其它的控件,也同样可以根据它们的特性来设计创建,从而生成多种多样的报表。3.创建多列报表Access2003还提供了一种称为“多列报表”的报表,这种报表能够定义报表的各个部分,从而使用一个页面上能打印出多列数据来。它通过一个页面设置对话框来创建。五、窗体设计244 六、系统完善从前面的情况来看,似乎还不够系统,这是为什么呢?因为实际上,我们对本示例系统缺少功能模块的设计,下面我们回头来分析本系统将有一些什么样的功能模块,至于模块的实现,有些可以马上设计好,有些可能要等以后章节学习完以后,才能更好地完成。本系统的功能主模块主要有以下几个:◆学生信息数据库数据录入模块本模块主要包括如下子模块:学生信息录入、老师信息录入、课程录入、成绩录入、班级录入、宿舍录入等。244 ◆学生信息数据库数据修改、删除、编辑模块本模块包括对数据库中数据的修改、删除和编辑等功能子模块。◆学生信息数据库数据查询模块本模块包括与学生信息相关的数据查询子模块:学生情况查询、老师情况查询、班级情况查询、课程查询、成绩查询、宿舍查询。◆学生信息数据库数据统计模块本模块包括如下子模块:学生基本情况统计、学生成绩情况统计。◆学生信息数据库数据打印模块本模块主要包括如下子模块:学生基本情况打印、学生成绩打印。◆数据数据库管理。包括数据库整理、压缩、备份、还原等,还是比较重要的。◆帮助信息与关于本系统。可提供帮助文档。提供版本信息、版权信息、求助联系方式等。为此,我们建立切换面板如下:244 Access教程第七章宏◆宏的概念和功能◆宏的建立和应用宏是一个或多个操作的集合,其中每个操作执行特定的功能。如果用户频繁地重复同一系列操作,就可以创建宏来执行这些操作。宏由一些操作和命令组成,这些操作和命令用来完成自动化操作。用户可以通过创建宏来自动执行某一项重复的或者复杂的任务。在创建宏时,就定义了一系列任务,只要启用宏,Access就执行了这些任务。244 一、宏的功能宏是一种功能强大的工具,可用来在Access2003中自动执行许多操作。通过宏的自动执行重复任务的功能,可以保证工作的一致性,还可以避免由于忘记某一操作步骤而引起的错误。宏节省了执行任务的时间,提高了工作效率。宏的具体功能如下:◆显示和隐藏工具栏。◆打开和关闭表、查询、窗体和报表。◆执行报表的预览和打印操作以及报表中数据的发送。◆设置窗体或报表中控件的值。◆设置Access工作区中任意窗口的大小,并执行窗口移动、缩小、放大和保存等操作。◆执行查询操作,以及数据的过滤、查找。◆为数据库设置一系列的操作,简化工作。二、创建宏244 单击数据库窗口的【宏】选项卡中的【新建】按钮,即可打开宏的定义窗口和宏的设计工具栏。1.宏设计的基础知识【宏设计】工具栏:【宏名】显示宏定义窗口中的“宏名”列。【条件】显示宏定义窗口中的“条件”列。【插入行】在宏定义表中设定的当前行的前面增加一空白行。【删除行】删除当前行。【运行】运行宏。【单步】单步运行宏。【生成器】设置宏的操作参数。宏定义窗口如下:244 默认情况下,宏定义窗口上面部分由两列组成:操作和注释列。【操作】列在此列中输入宏中所有操作,运行时将按照输入顺序执行操作。【注释】列在此列中输入对应操作的备注说明。【宏名】列在此列中输入宏的名称,在多个操作的宏组中这一列是必选的。【条件】列在此列中输入条件表达式,以决定运行宏的条件。【操作参数列】用以设定操作的相关参数。244 在操作列中,提供了50多种操作,用户可以从这些操作中做选择,创建自己的宏。而对于这些操作,用户可以通过查看帮助,从中了解每个操作的含义和功能。⑴在宏中添加操作主要操作说明:◆AddMenu将菜单添加到窗体或报表的自定义菜单栏,菜单栏中每个菜单都需要一个独立的AddMenu操作。此外,也可以为窗体、窗体控件或报表添加自定义快捷菜单,或为所有的窗口添加全局菜单栏或全局快捷菜单。◆ApplyFilter对表、窗体或报表应用筛选、查询或SQLWHERE子句,以便对表的记录、窗体、报表的基础表或基础查询中的记录进行相应的操作。对于报表,只能在其“打开”事件属性所指定的宏中使用该操作。◆Beep可以通过计算机的扬声器发出嘟嘟声,一般用于警告声。◆CancelEvent244 取消一个事件,该事件导致Access执行包含宏的操作。◆Close关闭指定的Access窗口。如果没有指定窗口,则关闭活动窗口。◆CopyObject将指定的数据库对象复制到另外一个Access数据库(.mdb)中。或以新的名称复制到同一数据库或Access项目(.adp)中。◆CopyDatabaseFile为当前的与Access项目连接的SQLServer7.0或更高版本数据库作副本。◆DeleteObject删除指定的数据库对象。◆Echo指定是否打开回响。例如:可以使用该操作在宏运行时隐藏或显示运行结果。◆FindNext查找下一个符合前一个FindRecord操作或【在字段中查找】对话框中指定条件的记录。◆FindRecord244 查找符合FindRecord参数指定条件的数据的第一个实例。该数据可能在当前的记录中,在之前或之后的记录中,也可以在第一个记录中,还可以在活动的数据表、查询数据表、窗体数据表或窗体中查询记录。⑵设置操作参数选定操作后,在【操作参数】区域会出现相应的操作参数。可以在各操作参数对应的文本框中输入数值,以设定操作参数的属性。如上图中。也可以使用表达式生成器生成的表达式设置操作参数。⑶创建宏组如果有多个宏,可将相关的宏设置成宏组,以便于用户管理数据库。使用宏组可以避免单独管理这些宏的麻烦。244 在数据库窗口中的宏名称列表中将显示宏组名称。如果要指定宏组中的某个宏,应使用如下结构:【宏组名.宏名】。⑷宏中的条件操作有时用户可能希望仅仅在某些条件成立的情况下才在宏中执行某个或某些操作。宏中的条件可以达到这个目的。2.创建AutoKeys宏244 Autokeys宏通过按下指定给宏的一个键或一个键序触发。为AutoKeys宏设置的键击顺序称为宏的名字。例如:名为F5的宏将在按下F5键时运行。命名AutoKeys宏时,使用符号“^”表达Ctrl键。下表列出了可用来运行AutoKeys宏的组合键的类型:语法说明示例————————————————————————^numberCtrl+任一数字^3F*任一功能键F5^F*Ctrl+任一功能键^F5+F*Shift+任一功能键↑F5————————————————————————244 创建AutoKeys宏时,必须定义宏将执行的操作,如打开一个对象,最大化一个窗口或显示一条消息。另外还需要提供操作参数,宏在运行时需要这种参数,如要打开的数据库对象、要最大化的窗口或要在对话框中显示的消息的名称。下面举例说明:◆新建宏,显示宏名列,在宏名列中输入宏名“^1”,在操作列中选择操作。◆选择操作OpenForm,设置相应的参数。244 ◆用同样的方法建立其它三个宏。244 ◆以AutoKeys为宏保存宏组。这时只需按下Ctrl+1就会打开【供应商】窗体,Ctrl+2最大化该窗体,Ctrl+3最小化该窗体,Ctrl+4关闭该窗体。3.创建条件宏条件宏是满足一定条件后才运行宏。利用条件宏可以显示一些信息,如雇员输入了订单却忘记了输入雇员号,则可利用宏来提醒雇员输入遗漏的信息。或者进行数据的有效性检查。244 要创建条件宏,需要向【宏】窗口添加【条件】列,单击【宏设计】工具栏上的【条件】按钮,并输入使条件起作用的宏的规则即可。如果设置的条件为真,宏就运行。如果设置的条件为假,就转到下一个操作。下面举例说明:◆新建宏,显示条件列,输入条件。选择操作和参数。◆以名MoreThan1000保存宏,并关闭之。◆在设计窗口打开“雇员销售明细金额窗体”,并在金额控件的属性中设置事件。244 ◆金额超过1000元时,将鼠标进入金额框再离开时,有如下提示:4.创建事件宏244 事件是在数据库中执行的操作,如单击鼠标、打开窗体或打印报表。可以创建只要某一事件发生就运行宏。例如在使用窗体时,可能需要在窗体中反复地查找记录,打印记录,然后前进到下一条记录。可以创建一个宏来自动地执行这些操作。Access2003可识别大量的事件,但可用的事件并非一成不变,这取决于事件将要触发的对象类型。下表给出了几个常用的可指定给宏的事件。事件说明————————————————————————————OnOpen当一个对象被打开且第1条记录显示之前执行OnCurrent当对象的当前记录被选中时执行OnClick当用户单击一个具体的对象时执行OnClose当对象被关闭并从屏幕上清除时执行244 OnDblClick当用户双击一个具体对象时执行OnActivable当一个对象被激活时执行OnDeactivate当一个对象不再活动时执行BeforeUpdate在用更改后的数据更新记录之前执行AfterUpdate在用更改后的数据更新记录之后执行————————————————————————————下面举例说明事件宏的创建。244 244 三、运行宏244 创建完一个宏后,就可以运行宏执行各个操作。当运行宏时,Access2003会运行宏中的所有操作,直到宏结束。可以直接运行宏,或者从其宏或事件过程中运行宏,也可以作为窗体、报表或控件中出现的事件响应运行宏。也可以创建自定义菜单命令或工具栏按钮来运行宏,将某个宏设定为组合键,或者在打开数据库时自动运行宏。1.直接运行宏如果希望直接运行宏,通过双击宏名、通过【工具】【宏】|【运行宏】、通过单击工具栏上的【执行】按钮等操作,可以直接运行宏。244 2.在宏组中运行宏要把宏作为窗体或报表中的事件属性设置,或作为RunMacro(运行宏)操作中的MacroName(宏名)说明,可以用如下格式指定宏:[宏组名.宏名]3.从其他宏或VB程序中运行宏244 如果要从其他的宏或VB过程中运行宏,请将RunMacro操作添加到相应的宏或过程中。如果要将RunMacro操作添加到宏中,在宏的设计视图中,请在空白操作行选择RunMacro选项,并且将MacroName参数设置为相应的宏名即可。如果要将RunMacro操作添加到VB过程中,请在过程中添加DoCmd对象的RunMacro方法,然后指定要运行的宏名即可。如语句:DoCmd.RunMacro“MyMacro”。下面看一下RunMacro操作。在下列三种情况下使用这个操作:◆从另一个宏运行宏。◆执行基于某个条件的宏。◆将宏附加到一个自定义的菜单命令上。RunMacro操作的参数如下:操作参数描述244 ————————————————————————————————————宏名执行的宏的名称重复次数宏执行的最大次数。空白为一次重复表达式表达式结果为True(-1)或False(0)。如果为假,则宏停止运行。————————————————————————————————————如果用户在【宏名】参数中设置宏组名,则会运行组中第一个宏。4.从控件中运行宏如果希望从窗体、报表或控件中运行宏,只需单击设计视图中的相应控件,在相应的属性对话框中选择【事件】选项卡的对应事件,然后在下拉列表框中选择当前数据库中的相应宏。这样在事件发生时,就会自动执行所设定的宏。244 例如建立一个宏,执行操作“Quit”,将某一窗体中的命令按钮的单击事件设置为执行这个宏,则当在窗体中点击按钮时,将退出Access。5.在菜单或工具栏中运行宏可以将宏添加到菜单或工具栏中,从而在菜单或工具栏中运行宏。首先选择【视图】|【工具栏】|【自定义】命令,Access2003弹出一个【自定义】对话框。将其图标直接拖动到菜单或工具栏中即可。单击该宏的图标即可运行宏。6.将一个或一组操作设定成快捷键244 可以将一个操作或一组操作设置成特定的键或组合键。可以通过如下步骤来完成:◆在数据库窗口中单击【对象】栏下的【宏】按钮。◆单击工具栏中的【新建】按钮。◆单击工具栏上的【宏名】按钮。◆在【宏名】列中为一个操作或一组操作设定快捷键。◆添加希望快捷键执行的操作或操作组。◆保存宏。保存宏后,以后每次打开数据库时,设定的快捷键都将有效。此外还可以创建一个在第一次打开数据库时运行的特殊的宏:AutoExec宏。它可以执行诸如这样的操作:打开数据输入窗体、显示消息框提示用户输入、发出表示欢迎的声音等。一个数据库只能有一个名为AutoExec的宏。244 内容完244

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭