45、生成表查询设计 451、生成表查询的作用 ③4.5.2、生成表查询的设计 4.5.3、生成表查询的实质
4.5、生成表查询设计 4.5.1、生成表查询的作用 4.5.2、生成表查询的设计 4.5.3、生成表查询的实质
Q451、生成表查询的作用 查询只是一个操作的集合,其运行的结果 是一个动态数据集。当查询运行结束时,该动态 数据集合是不会为 Access所保存的。如果希望查 询所形成的动态数据集能够被固定的保存下来, 就需要使用生成表査询了 例如,如果希望将CMMS数据库中记录的 某段时间内的销售业绩汇总数据导出为HMTL文 档,用于Web页发布,就可以将4.3.3节中所述的 “销售业绩查询”改建为一个生成表查询。只要 运行这个生成表查询,即可创建一个名为“销售 业绩汇总表”的数据表对象,这个数据表对象称 为“生成表”。以下,让我们来说明如何设计这 样一种 Access查询对象
查询只是一个操作的集合,其运行的结果 是一个动态数据集。当查询运行结束时,该动态 数据集合是不会为Access所保存的。如果希望查 询所形成的动态数据集能够被固定的保存下来, 就需要使用生成表查询了。 例如,如果希望将CMMIS数据库中记录的 某段时间内的销售业绩汇总数据导出为HMTL文 档,用于Web页发布,就可以将4.3.3节中所述的 “销售业绩查询”改建为一个生成表查询。只要 运行这个生成表查询,即可创建一个名为“销售 业绩汇总表”的数据表对象,这个数据表对象称 为“生成表”。以下,让我们来说明如何设计这 样一种Access查询对象。 4.5.1、生成表查询的作用
45.2、生成表查询的设计 设计生成表查询的操作步骤如下,首先设计合适 的选择查询,然后将其指定为生成表查询。下 面以创建“销售业绩生成表査询”为例,说 明其操作步骤。 复制一份“销售业绩査询”,并命名为“销售业 绩生成表查询”;在数据库设计视图中的查 询对象选项卡上选中它,单击工具栏上的“设 计”按钮“ ”;在随之出现的查询设计 视图中,单击菜单栏上的【查询】|【生成表查 询】,如图所示
设计生成表查询的操作步骤如下,首先设计合适 的选择查询,然后将其指定为生成表查询。下 面以创建“销售业绩_生成表查询”为例,说 明其操作步骤。 复制一份“销售业绩查询”,并命名为“销售业 绩_生成表查询”;在数据库设计视图中的查 询对象选项卡上选中它,单击工具栏上的“设 计”按钮“ ”;在随之出现的查询设计 视图中,单击菜单栏上的【查询】|【生成表查 询】,如图所示。 4.5.2、生成表查询的设计
图4-20“销售业绩生成表查询”设计视图 夏 icrosoft Access 文件c)编辑C)视图插入①)「查询)工具〔r)窗囗)帮助 回世?运行) 销售业生成表查询:选挥查询 显示表Q 回区 删除表 库存数据 销售数据回选择查询() 交叉表查询 货号 销售序列 货名 货号 ?生成表查询C 规格 货名 更新查询 计量单位 规格 追加查询e 删除查询迎) 》 宇段:[号N货名进货单价。销 SL特定查询Q) 销售利润:Sun〔销1销售日期 表:销售销售库存数据销参数 销售数据记录 总计:团分組份分组分组 分紅 「表达式 分組 排序 升序 显示:[回回回 条件 Between #2004-10-15 或
图4-20 “销售业绩_生成表查询”设计视图
随之即会弹出“生成表”对话框,如 图所示。 在“生成表”对话框中,需要 确定生成表的名称,并确定生成表 所属的数据库。例如,希望在当前 数据库中,生成一个名为“销售业 绩汇总表”的生成表,即可设计如 图中所示设计参数。单击“确定” 拟 确定 即完成了“销售 业绩生成表查询”的设计操作
随之即会弹出“生成表”对话框,如 图所示。 在“生成表”对话框中,需要 确定生成表的名称,并确定生成表 所属的数据库。例如,希望在当前 数据库中,生成一个名为“销售业 绩汇总表”的生成表,即可设计如 图中所示设计参数。单击“确定” 按钮“ ”;即完成了“销售 业绩_生成表查询”的设计操作
图421“生成表”对话框 生成表 p囟 生成新表 确定 表名称⑩):销售利润明细查询(2004年10月下〕 取消 ⊙当前数据库c ○另一数据库A) 文件名① 浏览)
图4-21 “生成表”对话框
设计完成 个 生成表查询后,就可以打 开运行它。与打开前述两类查询的情况不同, Access并不显示查询数据表视图,而是在数据 库中新建了一个数据表对象,其中的数据即 为生成表查询运行的结果。 例如,“销售业绩生成表查询”打开 次的结果,就是在数据库中新建了一个名为 销售业绩汇总表”的数据表对象,其中的 数据就是“销售业绩生成表查询”的运行结 果。可以打开这个数据表查看以下,会发现 它的数据显示内容完全相同于“销售业绩查 询”的数据显示内容。然后,再利用 Access 的数据导出功能,将这个生成表导出为HMTI 文档,即实现了本节开始提出的设让目标
设计完成一个生成表查询后,就可以打 开运行它。与打开前述两类查询的情况不同, Access并不显示查询数据表视图,而是在数据 库中新建了一个数据表对象,其中的数据即 为生成表查询运行的结果。 例如,“销售业绩_生成表查询”打开一 次的结果,就是在数据库中新建了一个名为 “销售业绩汇总表”的数据表对象,其中的 数据就是“销售业绩_生成表查询”的运行结 果。可以打开这个数据表查看以下,会发现 它的数据显示内容完全相同于“销售业绩查 询”的数据显示内容。然后,再利用Access 的数据导出功能,将这个生成表导出为HMTL 文档,即实现了本节开始提出的设计目标
453、生成表查询的实质 查询的实质就是SQL语句的 应用。观察“销售业绩生成表 查询”的S①L语句,就可以看 到,“销售业绩生成表査询” 就是在“销售业绩查询”的 SQL语句中增加了一个INTO子 以下是“销售业绩生成表 查询”的SQLi
查询的实质就是SQL语句的 应用。观察“销售业绩_生成表 查询”的SQL语句,就可以看 到,“销售业绩_生成表查询” 就是在“销售业绩查询”的 SQL语句中增加了一个INTO子 句。 以下是“销售业绩_生成表 查询”的SQL语句: 4.5.3、生成表查询的实质
SELECT销售数据记录销售日期,库存数据记录.货号,库存 数据记录货名, 库存数据记录计量单位,库存数据记录进货单价, 库存数据记录库存数量, 销售数据记录销售单价,Sum(销售数据记录销售 数量)AS销售数量, 的食【销售单价]销售数量进货单价销售数量]AS INTO销售业绩汇总表 FROM库存数据记录 INNER JOIN销售数据记录ON库存 数据记录货号=销售数据记录货号 GROUP BY销售数据记录销售日期,库存数据记录.货号, 库存数据记录货名 库存数据记录计量单位,库存数据记录进货单价,库 存数据记录库存数量 销售数据记录销售单价 ORDER BY销售数据记录销售日期
SELECT 销售数据记录.销售日期, 库存数据记录.货号, 库存 数据记录.货名, 库存数据记录.计量单位, 库存数据记录.进货单价, 库存数据记录.库存数量, 销售数据记录.销售单价, Sum(销售数据记录.销售 数量) AS 销售数量, [销售单价]*[销售数量]-[进货单价]*[销售数量] AS 销售利润 INTO 销售业绩汇总表 FROM 库存数据记录 INNER JOIN 销售数据记录 ON 库存 数据记录.货号 = 销售数据记录.货号 GROUP BY 销售数据记录.销售日期, 库存数据记录.货号, 库存数据记录.货名, 库存数据记录.计量单位, 库存数据记录.进货单价, 库 存数据记录.库存数量, 销售数据记录.销售单价 ORDER BY 销售数据记录.销售日期;