48、交叉表查询设计 交叉表查询是 Access支持的另一类查询对 象。交叉表查询显示来源于表中某个字段的 总结值(合计、计算以及平均),并将它们 分组,一组列在数据表的左侧,另一组列在 数据表的上部。例如,在“零售商店管理信息系 统”数据库的“销售数据记录”表中,如果希 望得到各个销售人员的销售总金额一览表, 就需要应用交叉表查询来实现。可以看到, 交叉表查询运行的显示形式,是作为数据源 的表转置后形成的数据表。即,将数据源表 中的某一字段数据作为交叉表查询的字段名, 某几个字段数据作为分类汇总的依据,某 字段数据被汇总计算后显示在各自的字段 下
4.8、交叉表查询设计 交叉表查询是Access支持的另一类查询对 象。交叉表查询显示来源于表中某个字段的 总结值(合计、计算以及平均),并将它们 分组,一组列在数据表的左侧,另一组列在 数据表的上部。例如,在“零售商店管理信息系 统”数据库的“销售数据记录”表中,如果希 望得到各个销售人员的销售总金额一览表, 就需要应用交叉表查询来实现。可以看到, 交叉表查询运行的显示形式,是作为数据源 的表转置后形成的数据表。即,将数据源表 中的某一字段数据作为交叉表查询的字段名, 某几个字段数据作为分类汇总的依据,某一 个字段数据被汇总计算后显示在各自的字段 下
图4-24“销售数据记录交叉表”的数据表视 销售数据查询交叉表:交又表查询 白回区 货号」货名规格总计销售金额齐贤菊夏筝芳张小利钟舒宁 0202绿野香花生250G ¥6.00 ¥6.00 0203小米锅巴125G ¥0.90 ¥0.90 0205烤馒锅巴125G ¥1.50¥1.50 0212大土豆泥即食 ¥6.00 ¥6.00 0221小代彩红糖彩装 ¥2.00 ¥2.00 248雀巢高钙奶粉50G6 ¥19.00 ¥19.00 0252扬子江中老年500G ¥42.00¥141.00¥28.00 1007小椰岛酒250L¥14.00 14.00 10415年白云边50L ¥50.00 ¥50.00 记录:[4 1DD米共有记录数9
图4-24 “销售数据记录_交叉表”的数据表视 图
48、交又表查询设计 048.1、应用向导创建交叉表查询 048.2、在交叉表查询设计视图中 修改交叉表查询
4.8、交叉表查询设计 4.8.1、应用向导创建交叉表查询 4.8.2、在交叉表查询设计视图中 修改交叉表查询
481、应用向导创建交叉表查询 仔细观察图所示,就会发现,它还不是最终所 需的形式。其中,“总计:销售数量”显示的 是商品销售数量的合计数,而我们所期望的是 用“总计”字段显示商品销售金额的合计数 这是由于作为査询数据源的“销售数据记录” 表中没有“销售金额”字段的缘故。另外,我 们还希望“总计”字段数据的显示格式为“货 币”数据格式。因此,在应用向导完成交叉表 查询的创建操作之后,还应该加以一些设计修 改。交叉表查询的设计修改操作需在交叉表查 询设计视图中进行
仔细观察图所示,就会发现,它还不是最终所 需的形式。其中,“总计:销售数量”显示的 是商品销售数量的合计数,而我们所期望的是 用“总计”字段显示商品销售金额的合计数, 这是由于作为查询数据源的“销售数据记录” 表中没有“销售金额”字段的缘故。另外,我 们还希望“总计”字段数据的显示格式为“货 币”数据格式。因此,在应用向导完成交叉表 查询的创建操作之后,还应该加以一些设计修 改。交叉表查询的设计修改操作需在交叉表查 询设计视图中进行。 4.8.1、应用向导创建交叉表查询
在数据库设计视图中的查询对象选项卡上,选 屬定刚刚应用向导建立完成的“销售数据记录交叉 表”,单击工具栏上的“设计”按钮,即进入交叉 表查询设计视图,如图所示,它显示了应用向导建 立的“销售数据记录交叉表”设计参数。在这个 视图中,可以看到三个用以分类的“行标题”列 个用以汇总的“列标题”列和一个用以计算的 值”列(其字段名为“值:Sum([销售数据记 录]销售单价]*[销售数据记录][销售数量])”,可 以利用表达式向导设定),这是任何一个交叉表查 询的基本组成。最后一列的作用是得到一个合计数 其字段名为“总计:Sum(销售数据记录]销售单 价][销售数据记录]销售数量])”,也是利用表达 式向导设定的
在数据库设计视图中的查询对象选项卡上,选 定刚刚应用向导建立完成的“销售数据记录_交叉 表”,单击工具栏上的“设计”按钮,即进入交叉 表查询设计视图,如图所示,它显示了应用向导建 立的“销售数据记录_交叉表”设计参数。在这个 视图中,可以看到三个用以分类的“行标题”列、 一个用以汇总的“列标题”列和一个用以计算的 “值”列(其字段名为“值:Sum([销售数据记 录]![销售单价]*[销售数据记录]![销售数量])”,可 以利用表达式向导设定),这是任何一个交叉表查 询的基本组成。最后一列的作用是得到一个合计数, 其字段名为“总计:Sum([销售数据记录]![销售单 价]*[销售数据记录]![销售数量])”,也是利用表达 式向导设定的
图425“交叉表查询向导1”对话框 交又表查询向导 请指定哪个表或查询中含有交叉表查询:查询1 查询结果所需的字段 查询:柜存数据记录查询 查询:库存数据记录查询 查询:销售结转清查询 查询:销售利润查询 如要包含多个表中的字段,请创建 查询:销售利润明細查询 含有所需全部字段的查询,然查询:销售效据查询 后用这个查询创建交叉表查询 查询:销售数据查询1 视图 ○表〔)⊙查询)○两者① 标题1标题2标恩3 总计 匚取消上步①)[下一步0完成
图4-25 “交叉表查询向导1”对话框
图426“交叉表查询向导2对话框 交又表查询向导 请确定用哪些字段的值作为行标题:可用字段 选定宇段 计量单位 货号 销售单价 货名 最多可以选择3个字段。 销售数量 瓤格 销售金额 销售日期 请按照所需的信息排序顺序选择字 销售人员 段。例如,可以先按国家再按地区 对值进行排序和分组。 示例 货号货名 规格标题1标题2标题3 货号1货名1 规格1 总计 货号2 货名2 规格2 货号3 货名3 规格3 货号4 货名4 规格4 取消〖上步0)下二步0)习完成
图4-26 “交叉表查询向导2”对话框
图4-27“交叉表查询向导3对话框 交又表查询向导 请确定用哪个字段的值作为列标题:计量单位 销售单价 销售数量 销售金额 例如,为了用每位雇员的姓名作为 列标题,可以选择“雇员姓名” 销售日期 售人员 示例 货号 「货名 规格销售人员1销售人员2销售人员3 货号 货名 规格1 货号2 货名2 规格 货号3 货名3 规格3 货号4货名4规格4 匚取消〖<上步)下一步0习完成
图4-27 “交叉表查询向导3”对话框
图428“交叉表查询向导4对话框 交又表查询向导 请确定为每个列和行的交叉点计算出什字段 函数 么数字 计量单位 StDev 销售单价 销售数量 平均 例如,可以按照国家和地区)为每位销售金额 最后一项 雇员计算“订购量”字段的总和。销售日期 最大值 最小值 文和 请确定是否为每一行作小计 第一项 计数 回是,包括各行小计①)。 示例 货 货名 规格 销售人员1销售人员2销售人员3 货号1 货名1 规格1 求和销售金额 货号2 货名2 规格2 货号3 货名3 规格3 货号4 货名4 规格4 匚取消区<上步)下一步0)习完成
图4-28 “交叉表查询向导4”对话框
图429“交叉表查询向导5对话框 交叉表查询向导 请指定查询的名称 逍售数据记录交叉表 以上是向导创建查询所需的全部信息。 请选择是查看查询,还是修改查询设计 ⊙查看查询 ○修改设计 口显示有关处理交叉表查询的帮助信息) 匚取消区上步①)下一步③)[完成吧
图4-29 “交叉表查询向导5”对话框