交叉表查询在Access中的应用

交叉表查询在Access中的应用

2023年7月4日发(作者:)

科 技 论 坛中国科技信息2005年第13期    CHINA SCIENCE AND TECHNOLOGY INFORMATION Jul.2005交叉表查询在Access中的应用张白桦  温州职业技术学院  325035摘 要:Access是Microsoft Office的一个重要组件,是一种非常实用的数据库管理系统软件。本文通过介绍在Access中创建交叉表查询的几种方法,展示了交叉表查询在解决实际问题中的应用。关键词:Access;交叉表查询;SQL简单而实用的交叉表查询。①在“数据库”窗口中,单击“对象”下的“查询”,然后单击“数据库”窗口工具栏上的“新建”。②在“新建查询”对话框中,单击“交叉表查询向导”,然后单击“确定”。③选择作为“交叉表查询”的数据来源。如果有一个以上的字段来自不同的表,建议先将所需要的全部字段建成查询,再选择这个查询当作数据来源。本例中,选择“成绩”表,按“下一步”按钮。④从“可用字段”列表中选择作为行标题的字段,最多可选三个字段。本例中,选择“学号”,单击“添加”按钮将其添加到“选定的字段”列表框中。一旦完成了上述操作,所选字段就会出现在下方的交叉表预览窗口中,由Access自动分配一个编号,由此所选定的字段将显示在交叉表的左侧。按“下一步”按钮。⑤从“可用字段”列表中选择作为列标题的字段。本例中,选择“课程号”。一旦选定了它,即出现在下方的交叉表预览窗口中,也被自动分配一个编号,由此所选定的字段将显示在交叉表的顶端。按“下一步”按钮。⑥从“字段”列表中选择交叉表中交叉单元格所要显示的字段,然后还可在“字段”列表右侧“函数”列表中选择计算方式。本例中,选择“成绩”字段和“求和”方式,并选中“是,包括各行小计”复选框,按“下一步”按钮。⑦在最后一个对话框中,输入新查询的名称后,可以选择是“查看查询”,还是在“设计视图”中“修改设计”。如果生成的查询不完全符合要求,可以返回向导或在“设计视图”中更改查询。本例中,选择“查看查询”并按“完成”按钮后得到如图2所示的结果。例中,选择表选项卡并双击“成绩”表。④在设计网格中将字段添加到“字段”行。本例中,选择“学号”、“课程号”、“成绩字段”,并在“成绩”字段后面空列的“字段”行上输入“总计 成绩: 成绩”。⑤执行“查询/交叉表查询”命令,或按下工具栏上“查询类型”按钮,选择“交叉表查询”命令,查询“设计视图”窗口的下半部将多出“总计”及“交叉表”两行,如图3所示。⑥如果要将字段的值按行显示,请单击“交叉表”行,然后单击“行标题”。可指定一个或多个行标题选项,但至少要有一项作为分组依据,即在该字段的“总计”行保留默认的GroupBy。如果要将字段的值显示为列标题,请单击“交叉表”行,然后单击“列标题”。只能选择一个字段作为“列标题”,且必须为这个字段的“总计”行保留默认的 Group By。本例中,将“学号”、“总计 成绩:”的“交叉表”行设为“行标题”,“课程号”的“交叉表”行设为“列标题”。“学号”、“课程号”的“总计”行保留默认的GroupBy。如图3所示。⑦对于要将其值用于交叉表的字段,请单击“交叉表”行,然后单击“值”。只有一个字段可以设置为“值”。在这个字段的“总计”行,单击希望用于交叉表的聚合函数类型(例如Sum、Avg或Count)。本例中,“成绩”的“交叉表”行设为“值”,“成绩”、“总计 成绩:”的“总计”行均设为函数“Sum”。如图3所引言现在,在各个应用领域数据库都非常流行,其主要原因除了它使用起来简单易行外,另一个主要原因就是它具有很强的查询功能。在数据库中,用户可以根据自己的需要从数据库中提取信息,建立查询表。利用查询可以通过不同的方法来查看、更改以及分析数据,也可以将查询作为窗体、报表,甚至是生成另一个查询的记录源。Access擅长对数据进行处理,在Access中对于数据库的查询既可从一个数据表,也可从多个数据表中检索符合指定条件的记录,供用户查看、更改和分析使用。常用的查询类型有5种:选择查询、参数查询、交叉表查询、操作查询、SQL查询。本文通过介绍在Access中创建交叉表查询的几种方法,展示了交叉表查询在解决实际问题中的应用。0,提出问题图1是一张在Access中建立的原始数据表,记录了各个学生选修各门课程所得的成绩。假设要快速查询每个学生选修每门课程的成绩以及这些课程的总分,显然仅凭该原始表本身是很难一下子看出所要求的结果的。如果有效利用Access中提供的交叉表查询的功能,就能以交叉表的形式很好地解决这个问题。示。图 3 设置完成后的交叉表查询设计视图⑧按下工具栏上“视图”按钮图 1 原始成绩表查看1,分析问题建立交叉表查询前,需要先整理及归类要显示的字段、来源表及其中的关系、强调的内容是什么,然后再进行查询设计。一般来说,交叉表查询至少需要三个字段,除了“列”、“行”之外,另一个为行列所对应的数据。本例中,“行”字段应为学生的“学号”,“列”字段取“课程号”,行列所对应的数据(即交叉部分的值)当然就是“成绩”了。 图 2 查看交叉表查询2,解决问题创建交叉表查询通常有以下三种方法:使用“交叉表查询向导”、使用“设计视图”、使用SQL语句。2.1,使用“交叉表查询向导”使用“交叉表查询向导”可以快速创建一个2.2,使用“设计视图”使用“交叉表查询向导”,可以帮助初学者或想要方便快捷地创建查询的用户,而对于一些有特殊要求的用户,就需要自行定义交叉表查询,利用手动的方式一步一步建立一个交叉表查询。①在“数据库”窗口中,单击“对象”下的“查询”,然后单击“数据库”窗口工具栏上的“新建”。②在“新建查询”对话框中,单击“设计视图”,然后单击“确定”。③在“显示表”对话框中,单击列出了所需的表或查询数据的选项卡。双击要添加到查询的每个对象的名字,然后单击“关闭”。 本分析的结果,如图2所示。2.3,使用SQL语句Access中的查询是以SQL语句为基础来实现的,所有的查询都可以看作是SQL查询,其背后都隐含着SQL窗口。所以就可以在SQL窗口中使用SQL语句来创建交叉表查询。①在“新建查询”对话框中,单击“设计视图”,然后关闭“显示”对话框。②执行“查询/SQL特定查询/联合”命令,在弹出的查询窗口中输入如下语句:TRANSFORM Sum(成绩.成绩) AS 成绩之SumSELECT 成绩.学号, Sum(成绩.成绩) AS[总计 成绩](下转第37页)-44-科 技 论 坛中国科技信息2005年第13期    CHINA SCIENCE AND TECHNOLOGY INFORMATION Jul.2005展ActiveXServer组件,它能克服用户请求很多时CGI占资源大的缺点,其中ADO是ASP访问数据源的应用级接口,简单易用,便于多种编程方式实现。其实现过程是用户通过调用ASP文件,在服务器端得到执行,从相关数据库中取出数据,再向浏览端发出超文本表示的查询结果。综合考虑客户端访问需要,采用ASP的ADO技术构造WEB页面和数据库交互的WEB数据库中间件是一种理想的方法。用户通过浏览器访问静态或动态的WEB页面,接受多媒体教学信息,尤其是以大量的交互式动态页面为主要内容。创建动态页面需要以数据库系统为基础。由于HTML只能开发简单的教学资源,对于大量的、可以重复使用的教学资源,通过建立教学资源数据库,利用中间件与WEB服务器建立快速连接,根据用户请求灵活组织内容形成动态页面。所有涉及WEB数据库的连接访问都可采用HTML的表单技术及ASP、API和DTC组件简便地实现。无论是CGI、API,还是专用数据库接口,其目的都是保持与各种教学资源数据库的快速连接。目前流行众多的WEB数据库开发工具,不仅能提供功能强大的可视化WEB数据库编程界面,而且还能与WEB服务器IIS及数据库服务器MSSQL无缝集成。例如微软的VisaulInterDev6,不仅可以简单高效地开发出WEB数据库访问应用程序,而且还可以方便地实现分布式合作开发和动态数据发布管理。网站编程:ASP技术数据库:MSSQLSERVER网站设计:DREAMWEAVER2、主要设计思路系统采用三层C/S结构,使用MSSQLSERVER2000作为网络数据库,服务器端采用WINDOWS2003+IIS6结合ASP技术设计,客户端只需使用IE浏览器访问服务器资源。由于采用了三层C/S结构,应用服务器与数据库服务器在逻辑上是独立的,客户访问服务器,系统在服务器端进行用户认证,并利用MSSQLSERVER2000的安全机制,对不同用户应用和数据的存储权限进行分层设定,最大限度的保证了系统数据的安全。系统认可四类用户:匿名用户、注册用户、教师用户、管理员用户,其中管理员拥有最高权限,负责服务器端的维护与管理,同时也拥有直接访问数据库的权力;其次是教师用户,拥有部分管理权限及对数据库访问的部分权限;再次是注册用户,拥有访问系统WWW服务的权限以及系统设计好的从数据库获取数据的权限;最后是匿名用户,仅仅拥有访问系统新闻及公告的权限。⑵实时交互系统包括在线课堂、视频交流等。⑶作业系统包括两项主要功能:课程作业题库管理和课程作业管理。⑷自检自测系统包括单元测试、综合测试、模拟试卷等。⑸试题库系统⑹试卷管理系统⑺教学资源管理系统⑻教务、教学信息管理系统五、结束语网络教学的发展空间巨大,对于科学、合理、充分地利用教育资源有着重大的意义。本文探讨了一个基于WEB的网络教学平台的设计思路以及一些主要应用技术,对构架网络教学平台具有一定的参考意义。要建立一个先进的网络教学系统,就必须不断的跟踪先进技术,不断研究与应用先进技术来建设网络教学系统。参考文献:[1] 宣小平.ASP数据库系统开发实例导航[M].北京:人民邮电出版,2003.[2] 郑阿奇.SQLServer实用教程[M].北京:电子工业出版社,2002.[3] 黄明.Java的最新技术——连接SQL的JDBC[M].北京:电子工业出版社,1999.[4] 魏高山.三层Client/Server结构分析与应用[J].计算机工程与应用,2000,(1):119-120.[5] (美) Chris Hare  Karanjit Siyan著 《Internet防火墙与网络安全》 北京:机械工业出版社1998.5   P59,P137四、应用实例 1、主要应用工具技术系统:WINDOWS2003 SERVER 中文标准版WEB服务器:IIS6.03、主要模块⑴非实时交互系统包括电子邮件、教学讨论区、资源展示区、课程点播等。(上接第45页)(上接第44页)参考文献:1、万振凯等编著,《网络安全与维护》 [专著]  北京 : 清华大学出版社 : 北京交通大学出版社, 2004.2、[美]V.V.Preetham著 ;冉晓旻等译,《Internet安全与防火墙》 [专著]  北京 : 清华大学出版社, 2004.3、(美)Keith E. Strassberg等著 ; 李昂等译,《防火墙技术大全》 [专著] 北京 : 机械工业出版社, 2003.4、(美)Todd Lammle、Carl Timm著 ; 王军等译,《思科IOS网络安全信息教程》 [专著]  北京: 电子工业出版社, 2003.5、蔡一郎编著,《PC存储设备与数据备份》[专著]  北京 : 中国铁道出版社, 2001.6、[美]Matthew MacDonald,[美]Erik Johansson著; 崔伟,毛尧飞译,《C#数据安全手册》[专著]  北京 : 清华大学出版社, 2003.7、(美)Kevin Archer等著,《语音与数据安全》[专著]  北京 : 机械工业出版社, 2002.8、李克洪等主编,《实用密码学与计算机数据安全》 [专著] 沈阳 : 东北大学出版社,2001.(上接第43页)将出现多种技术并存,各有优势和局限的特点,而难以象基因组研究一样形成比较一致的方法。除了发展新方法外,更强调各种方法间的整合和互补,以适应不同蛋白质的不同特征。另外,蛋白质组学与其它学科的交叉也将日益显著和重要,这种交叉是新技术新方法的活水之源,特别是,蛋白质组学与其它大规模科学如基因组学,生物信息学等领域的交叉,所呈现出的系统生物学(System Biology)研究模式,将成为未来生命科学最令人激动的新前沿。参考文献:[1]张鹭.蛋白质组学及其技术体系简介.吉林特产高等专科学校学报,2004.[2]季芝娟,薛庆中.植物蛋白质组学研究进展.生命科学,2004.[3]付琼.蛋白质组学研究进展与应用.江西农业大学学报,2004.[4]上官斌,虞鹏程,简少卿.蛋白质组技术研究进展.江西科学,2004.FROM 成绩GROUP BY 成绩.学号PIVOT 成绩.课程号;③按下工具栏上“视图”按钮运行结果,如图2所示。查看3,结束语交叉表查询类似于Excel电子表格中的交叉分析,将数据以行、列二维方式显示,适用于计算总计、平均值、计数或其他类型的总和等统计结果。使用交叉表查询可以计算并重新组织数据的结构,更加方便地分析数据。参考文献[1]林青.Access数据库原理与应用[M].北京:科学出版社,2003.[2]陈江.图解精通Access2003[M].北京:中国水利水电出版社,2004.[3]廖信彦.Access2002中文版入门与提高实用教程[M].北京:机械铁道出版社,2003.-37-

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688435109a137396.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信