第5章access数据库查询设计方法.ppt
《第5章access数据库查询设计方法.ppt》由会员分享,可在线阅读,更多相关《第5章access数据库查询设计方法.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 Access查询设计方法理解Access查询对象的作用及其实质了解SQL语言的基本知识掌握Access查询对象的设计方法学习Access查询对象的应用结合“教材征订管理信息系统”数据库应用系统设计所需要的Access查询对象第5章 Access查询设计方法查询是Access数据库中的一个重要对象,一个Access查询对象不是数据的集合,而是操作的集合。Access查询是针对数据源的操作命令,相当于程序。根据其应用目标的不同,可以将Access的查询对象分为四种不同的类型:选择查询 生成表查询 追加查询 删除查询 第5章 Access查询设计方法在Access中,查询的实现可以通过两种方
2、式进行:一种是在数据库中建立查询对象另一种是在VBA程序代码或模块中使用结构化查询语言(SQLStructured Query Language)。本章介绍Access查询对象的基本概念、操作方法和应用方式,讲解SQL的基本知识,并分析Access查询对象与SQL的关系。第5章 Access查询设计方法应用Access的查询对象是实现关系数据库查询操作的主要方法,借助于Access为查询对象提供的可视化工具,不仅可以很方便地进行Access查询对象的创建、修改和运行,而且可以使用这个工具生成合适的SQL语句,直接将其粘贴到需要该语句的程序代码或模块中。这将非常有效地减轻编程工作量,也可以完全避
3、免在程序中编写SQL语句时很容易产生的各种错误。Access查询对象的类型非常丰富,可以分为七个类别,分别称为“选择查询”、“交叉查询”、“生成表查询”、“更新查询”、“追加查询”和“删除查询”。其中“选择查询”的应用最为广泛。所以说,Access查询对象完全可以满足一般数据库应用系统的查询需求,也几乎涵盖了SQL所有语句的生成需求。5.1 认识Access查询对象一个Access查询对象实质上是一条SQL语句,而Access提供的查询设计视图实质上是提供了一个编写相应SQL语句的可视化工具。在Access提供的查询设计视图上,通过直观的操作,可以迅速地建立所需要的Access查询对象,也就是
4、编写一条SQL语句,从而增加了设计的便利性、减少了编写SQL语句过程中可能出现的错误。5.1.1 创建Access查询对象的方法1新建Access查询对象的操作在Access数据库设计视图中,单击“查询”标签按钮即进入“查询对象”选项卡,如图5-1-1所示。图5-1-1 数据库设计视图中的“查询对象”选项卡5.1.1 创建Access查询对象的方法单击数据库设计视图上的“新建”按钮“”,即弹出“新建查询”对话框,如图5-1-2所示。图5-1-2 “新建查询”对话框5.1.1 创建Access查询对象的方法在“新建查询”对话框中,可以从Access提供的五种查询对象新建方法中选择一种。在新建查询
5、对话框中选择“设计视图”选项,然后单击“确定”按钮“”,即进入“查询设计视图”。由于是新建查询,所以在查询设计视图中没有任何内容。在查询设计视图中新建查询对象的第一步操作是指定数据源,因此,一旦由“新建查询”对话框进入查询设计视图,Access首先在查询设计视图中弹出“显示表”对话框,提示操作者指定数据源。这时,操作者需要在“显示表”对话框中逐个地指定数据源,并单击“添加”按钮“”,将指定的数据源逐个添加入查询设计视图上半部的数据源显示区域内。5.1.1 创建Access查询对象的方法例如,在“教材征订管理信息系统”数据库中需要设计一个名为“课堂信息查询”的Access查询对象。如图5-1-3
6、示。图5-1-3 “显示表”对话框的操作5.1.1 创建Access查询对象的方法Access查询对象的数据源可以是若干个表,也可以是已经存在的某些查询,还可以是若干个表与某些查询的组合。与此对应,“显示表”对话框中包含三个选项卡:“表”、“查询”、“表和查询”。应该根据实际需要进行适当的选择。新建查询对象的第二步操作是定义查询字段,也就是从选定的数据源中选择需要在查询中显示的数据字段。既可以选择数据源中的全部字段,也可以仅选择数据源中的部分字段,且各个查询字段的排列顺序可以与数据源中的字段排列顺序相同,也可以与数据源中的字段排列顺序不同。这一步操作可以通过两种方法完成。5.1.1 创建Acc
7、ess查询对象的方法(1)新建包含数据源全部数据字段的查询将数据源表中的“”符号拖曳至设计视图下部的“字段”行中;或下拉“字段”行的列表框,从中选取“”符号。这时,“字段”行中即出现“”符号,“表”行中出现该字段所在的表名,“显示”行中的复选框中出现“”符号。这个新建查询对象的操作也就完成了。如此方式建立的查选对象在其运行时,将显示数据源表中所有字段中的所有记录数据。即,符号“”代表着全部字段。对于“课堂信息查询”而言,即可采用如图5-1-4所示方式设计。5.1.1 创建Access查询对象的方法图5-1-4 新建包含数据源全部数据字段查询的操作5.1.1 创建Access查询对象的方法(2)
8、新建包含数据源部分数据字段的查询将数据源表中那些需要显示在查询中的数据字段逐个地拖曳至“字段”行的各列中;或逐个地下拉“字段”行列表框,从中选取需要显示的数据字段。这时,“字段”行中出现选中的字段名,“表”行中出现该字段所在表的表名,“显示”行中的复选框中出现“”(它表明该查询字段将被显示,同时应该看到,取消这个标记则意味着得到了一个不被显示的查询字段)。如此选择查询字段,可以将查询字段的排列顺序设置为不同于数据源中字段的排列顺序,是非常灵活的一种方式。5.1.1 创建Access查询对象的方法例如,对于“课堂信息查询”而言,亦可采用如图5-1-5所示方式设计。在多数情况下,都会采用这种方式设
9、计Access查询。图5-1-5 新建包含数据源部分数据字段查询的操作5.1.1 创建Access查询对象的方法在整个新建查询对象的操作过程中,这个查询对象都将命名为“查询?”。当新建操作完成时,需要关闭查询设计视图,此时将出现“另存为”对话框。应该在“另存为”对话框中为新建查询对象命名为所需要的名字。如图5-1-6示。图5-1-6 在“另存为”对话框中为新建查询对象命名5.1.1 创建Access查询对象的方法2设计修改查询对象的操作对于一个已经新建完成的查询对象,通常都需要对其进行一些设计修改。就需要对以上初步建立的查询对象进行设计修改。为了使某一个字段的数据在其显示时有序排列,可以在查询
10、设计视图中该字段列下的“排序”行下拉其列表框,然后从中选择需要的排序规则。为了使某一个字段的数据在其显示时只出现满足某种条件的数据,可以在查询设计视图中该字段列下的“准则”行中设定筛选准则。5.1.1 创建Access查询对象的方法例如,现需要将如图5-1-5所示的“课堂信息查询”设计为能够按照“课堂编号”由小到大的顺序排列显示。其查询设计参数如图5-1-7所示。图5-1-7 在查询设计视图中设定“排序”5.1.2 Access查询对象的实质创建一个Access查询对象的操作过程,实质上是生成一条SQL语句的过程。为了看到一个查询所对应的SQL语句,可以将查询设计视图转换到SQL视图中来观察。
11、单击查询设计视图中菜单栏上的【视图】|【SQL视图】,即进入SQL视图中。由图5-1-5所示查询设计视图转换到SQL视图中后,所看到的SQL语句如下:5.1.2 Access查询对象的实质SELECT 课堂信息表.课堂编号,课堂信息表.课程代码,课程信息表.课程名称,课堂信息表.专业,课堂信息表.年级,课堂信息表.班级,课堂信息表.人数,课堂信息表.校区,课程信息表.总学时,课堂信息表.周学时,课堂信息表.教学周次FROM 课程信息表 LEFT JOIN 课堂信息表 ON 课程信息表.课程代码=课堂信息表.课程代码ORDER BY 课堂信息表.课堂编号;5.1.2 Access查询对象的实质运
12、行一个Access查询的操作也就是运行相应SQL语句的过程,其结果是生成一个动态数据集合。这个动态数据集合,无论在形式上还是在所能接受的操作上,都如同一个Access表对象。这就是说,在数据表视图中所能进行的所有操作均能在查询视图中实施。如果查询视图数据来源于若干个数据表,则可以在查询视图中同时操作这若干个表中的数据,在一定的限定条件下,也可以同时对这些数据表进行追加记录、删除记录和更改数据的操作。5.1.4 Access查询对象的运行对于一个设计完成的查询对象,可以在数据库视图中的查询对象选项卡上看到它的图标,用鼠标在一个查询对象图标上双击,即可运行这个查询对象。使用一个Access查询对象
13、操作数据就需要令这个查询对象运行,称之为运行查询。一个运行着的查询一般以查询视图的形式显示。例如,为了运行刚刚建立的“课堂信息查询”对象,应该在“教材征订管理信息系统”数据库设计视图的“查询”选项卡上选定“课堂信息查询”对象,并单击打开数据库视图上的“打开”按钮,即可运行“课堂信息查询”对象,其运行视图如图5-1-8所示。5.1.4 Access查询对象的运行图5-1-8 “课堂信息查询”对象运行视图5.2 Access的选择查询在Access所支持的各类查询对象中,选择查询是最常见的查询类型,它从一个或多个的数据源中检索数据,并且允许在可以更新记录(带有一些限制条件)的数据表中进行各种数据操
14、作。也可以使用选择查询来对记录进行分组,并且对记录作总计、计数、平均以及其他类型统计的计算。选择查询的优点在于能将多个表或查询中的数据集合在一起,或对多个表或查询中的数据执行编辑操作。5.2.1 Access查询设计视图选择查询的设计视图如图5-2-1所示,被分为上下两个部分。上部为数据源列表区,显示着查询对象的数据源以及它们之间关联;下部为参数设置区,由五个参数行组成,分别是字段行、表行、排序行、显示行和条件行。在Access查询设计视图中,选择确定多个数据源(表或查询)后,必须保证各个数据源数据间存在必要的联接关系。表与表间的联接如果已在数据库视图中通过建立表间关系形成,则这些关系将被继承
15、在查询设计视图中。如果上述关系不存在,则必须在查询设计视图中指定,如此指定的关系仅在本查询中有效。5.2.1 Access查询设计视图在Access查询设计视图中指定表间关系的操作为:从作为数据源的表或查询字段列表中将一个字段拖到另一个作为数据源的表或查询字段列表中的关联字段(即具有相同或兼容的数据类型且包含相似数据的字段)上。所谓将一个字段拖到另一个字段上,是指用鼠标指向一个字段,然后按住鼠标左键拖曳至另一个字段上,然后放开鼠标左键。使用这种方式进行联接,只有当联接字段的值相等时,Access才会从两个表或查询中选取记录。5.2.1 Access查询设计视图设定完成查询数据源后,应该关闭“显
16、示表”对话框,然后设定查询对象的各个字段。设定一个Access查询字段的操作,可以是逐一用鼠标选中数据源中的字段,并按住鼠标左键不放,然后将其拖曳至查询设计视图下部对应列中的字段行内。例如,“教材征订查询”对象的各个字段设定可参见图5-2-1所示。5.2.1 Access查询设计视图图5-2-1 “教材征订查询”对象的设计视图5.2.2 数据源表联接的意义在图5-2-1中可以看到,由于“教材征订查询”的数据分别取自“教材预订表”、“课程信息表”和“教材征订表”,因此必须指定这三个Access表作为本查询的数据源。Access支持的关联类型有三种:只包含来自两个表的联接字段相等处的行;包括所有“
17、主表”的记录和那些联接字段相等的“从表”的记录;包括所有“从表”的记录和那些联接字段相等的“主表”的记录。在上述三种关联类型中,第一种关联类型是默认类型。“教材征订查询”对象的三个数据源之间均采用第一种联接类型。即只显示在“教材预订表”和“课程信息表”中均存在的、且同时存在于“教材征订表”中的记录。关于这一点,可以通过“教材征订查询”对象的运行视图观察到,如图5-2-2所示。5.2.2 数据源表联接的意义图5-2-2 “教材征订查询”对象的运行视图5.2.3 排序行和显示行的作用1排序行的作用由于一个Access查询对象显示的数据记录往往很多,如果能够令某一列数据有顺序的排列显示,将方便于数据
18、的查看。2显示行的作用在Access查询设计视图中,显示行内是一个单选框。如果希望某一字段的数据在查询运行时得到显示,则在该单选框中单击,使其显示有“”符号,这也是Access的默认参数。5.2.4 Access条件设置及其表达式生成器应用设定条件是设计查询对象时的一项重要操作,主要用于设定某种条件来筛选数据记录。条件必须是一个合法的关系或逻辑表达式。本小节介绍利用向导设定准则的操作方法。在查询设计视图中,令光标停留在需要设定条件的字段中的条件行内,单击Access查询设计视图工具栏上的“向导”工具按钮“”,即弹出“表达式生成器”对话框,如图5-2-3所示。条件的设定可以在这个对话框中操作完成
19、。5.2.4 Access条件设置及其表达式生成器应用例如,我们可以在“教材征订管理信息系统”数据库中设计一个名为“任课教师查询”的对象,其数据源及其查询字段设置如图5-2-3所示。图5-2-3 “任课教师查询”对象的设计视图5.2.4 Access条件设置及其表达式生成器应用现要求在“任课教师查询”运行视图中仅显示“总学时”不少于48学时且不多于56学时的课堂信息,这就需要为“任课教师查询”设置查询条件。为了给“任课教师查询”的“总学时”字段设置条件,可以在“任课教师查询”设计视图中先将光标定位于“总学时”字段的条件行内。然后单击Access查询设计视图工具栏上的“向导”按钮,即刻调出Acc
20、ess“表达式生成器”对话框。5.2.4 Access条件设置及其表达式生成器应用Access“表达式生成器”对话框分为上下两个部分,对话框上部为一个文本框,设定的条件表达式将显示在其中。对话框下部分为三个组合框,自左至右分别为“对象组合框”,显示着可以使用的对象;“子对象组合框”,显示着当前对象中包含的所有子对象;“子对象属性框”,显示着当前子对象的各个属性值。5.2.4 Access条件设置及其表达式生成器应用首先选定“对象组合框”中的“任课教师查询”对象,再在“子对象组合框”中双击“总学时”子对象,即可在Access“表达式生成器”对话框上部的文本框中得到“总学时”字符。然后,在“对象组
21、合框”中选定“操作符”对象,再在“子对象组合框”中选定“比较”子对象,并在“子对象属性框”双击“=”属性值,即可在Access“表达式生成器”对话框上部的文本框中的“总学时”字符后得到“=”字符。接着在Access“表达式生成器”对话框上部的文本框中通过键盘输入字符“48”。即完成了逻辑表达式首部的关系表达式设定。接下来的操作应该依次设定“操作符”对象中“逻辑”子对象中的“And”属性值,“任课教师查询”对象中“总学时”子对象,“操作符”对象中“比较”子对象中的“=48 And 总学时=56);5.3 Access选择查询的应用选择查询是Access支持的多种类型查询对象中最重要的一种,它不仅
22、仅可以完成数据的筛选、排序等操作,更常见的用途还在于它的计算功能、汇总统计功能以及接受外部参数的功能。同时,选择查询还是其他类型查询创建的基础。在后续各节中我们会看到,为了创建其他类型的查询,常常会先建立一个选择查询,然后再逐步进行设计修改,以达到实现相关类型查询的设计结果。5.3.1 Access选择查询的计算功能通过查询操作完成数据源内部或各数据源之间数据的计算操作,是建立Access查询对象的一个常用的功能。完成计算操作是通过在查询对象中设计计算列来实现的,当查询运行时,计算列就如同这个Access查询对象一个字段一样显示。计算列本质上是一个计算表达式,设置计算列的操作可以借助于向导在“
23、表达式生成器”对话框中完成。例如,如图5-2-1所示的“教材征订查询”对象中即包含一个计算列“订购金额”,它将显示“教材征订查询”对象中“教材定价*订购册数*订购折扣”的乘积。为了设置这个计算列,应该首先在“教材征订查询”视图中将光标定位在最后一列的“字段”行上,并单击查询设计视图工具栏上的“向导”工具按钮“”,调用Access“表达式生成器”对话框。5.3.1 Access选择查询的计算功能在这个Access“表达式生成器”对话框中完成计算列的表达式设定。如图5-3-1所示。图5-3-1 应用“表达式生成器”为“教材征订查询”设定计算列5.3.1 Access选择查询的计算功能此外,还可以设
24、定计算列中数据的显示格式。其操作方法是,在需要重新设置显示格式的计算查询列“字段”行处右击鼠标,在随之弹出的快捷菜单上单击【属性】;或令光标停留在需要设置显示格式的计算查询列“字段”行上,在查询设计视图的菜单栏上单击【视图】|【属性】(或单击查询设计视图工具栏上“属性”工具按钮)。即弹出“字段属性”对话框,如图5-3-2所示。在“字段属性”对话框中,即可为所选字段设置包括显示格式在内的各项字段属性。5.3.1 Access选择查询的计算功能例如,可以将“教材征订查询”的“订购金额”计算列的显示格式设置为货币格式。操作界面如图5-3-2所示图5-3-2 “教材征订查询”的“订购金额”计算查询列的
25、设置显示格式5.3.2 Access选择查询的汇总功能Access选择查询的计算功能可用于完成查询对象中相关字段间的数据处理,而如果需要实现查询对象中相关记录间的数据处理,所需要的功能即称为Access选择查询的汇总功能。例如,在“教材征订管理信息系统”数据库的“课堂信息表”中记录着所有课堂信息,每一个课堂由相同专业、相同年级的若干个班级组成,开设同一门课程。如果我们需要统计每一个课堂的学生总人数,就可以使用Access选择查询的汇总功能。这种具有统计功能的查询对象也称为汇总查询。5.3.2 Access选择查询的汇总功能为了实现上述的查询功能需求,应该首先建立一个Access选择查询对象,其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- access 数据库 查询 设计 方法
限制150内