示例ACCESS数据库下载链接:
https://download.csdn.net/download/ngbshzhn/20979935
使用交叉表查询计算和重构数据,可以简化数据分析,交叉表查询计算数据的总和、平均值、计数或其他类型的总计值,并将它们分组。一组列在数据表左侧作为交叉表的行字段,另一组列在数据表的顶端作为交叉表的列字段。
在实际应用中,交叉表查询用于解决在一对多的关系中,对“多"实现分组求和的问题。例如,在“成绩”表中,每个学生所有课程的成绩都是按顺序依次显示在一张表中,在实际正作中,常常需要以学号和姓名为行,以每门课程为列来显示每门课程的成绩和几门课程的总成绩,这种情况就需要使用交叉表查询来实现了。
设计交叉表查询可以首先使用交叉表查询向导,以便快速生成一个基本的交叉查询对象,然后,再进入查询设计视图对交叉表查询对象进行修改。
例:在“教学管理”数据库中列出学生每门课程的成绩和各门的总分,显示的信息包括学号、姓名、课程名和总评成绩。
由于成绩表中,并不包含上述全部信息,这些信息来自三个表。交叉表查询向导不支持从多个表中选择字段,所以需要使用查询设计视图创建一个包含上述信息的查询。查询由“学生“、 ”课程’’表和“成绩“表组成。即从“学生”表中获取“姓名”字段,从“课程”表获取“课程名“字段以及从“成绩”表获取“学号”和“总评成绩”字段。
操作步骤如下:
(1)打开“教学管理”数据库,在“创建”选项卡上的“查询’’组中,单击“查询设计”按钮,打开“查询设计视图”窗口。
(2)在打开的“显示表”对话框中,选择“学生”表、 “课程”表和“成绩”表,单击“添加”按钮,把它们添加到查询视图中的对象窗格中。
(3)把“姓名”、 “学号’’、 “课程号"和“总评成绩”字段分别从各个表(或查询)中拖到查询设计网格中。
(4)保存。
以上4步是为了创建交叉表查询向导做准备工作。
(5)在“创建”选项卡上的“查询”组中,单击“查询向导”按钮。
(6)在打开的“新建查询”对话框中,选中“交叉表查询向导”,单击“确定”按钮。
(7)在打开的“请指定哪个表或查询中含有交叉表查询结果所需的字段”对话框中,在“视图“区,选中“查询"。在数据源列表中,选择“查询1”。
(8)在打开的“请确定用哪些字段的值作为行标题”对话框中,在“可用字段”窗格中,依次双击“学号““姓名¨,这两个字段被发送到“选定字段”的窗格中。
(9)在打开的“请确定用哪个字段的值作为列标题’’对话框中,系统自动选择“课程 名”作为列标题,且“总计”放在计算位置处。
(10)在打开的“请确定为每个列和行的交叉点计算出什么数字∞对话框中,在“函数”列中”总数“,然后单击“下一步”。
(11)在打开的“请指定查询的名称”对话框中,在“请指定查询的名称"文本框中,输入“查询1_交叉表”,选中“修改查询”,然后单击“完成”。
(12)这时打开查询设计视图,s把最后一列中的“字段’’,行单元格中的“总计”删除掉,然后运行。