4.5、生成表查询设计
4.5.1、生成表查询的作用
4.5.2、生成表查询的设计
4.5.3、生成表查询的实质
查询只是一个操作的集合,其运行的结果
是一个动态数据集。当查询运行结束时,该动态
数据集合是不会为 Access所保存的。如果希望查
询所形成的动态数据集能够被固定的保存下来,
就需要使用生成表查询了。
例如,如果希望将 CMMIS数据库中记录的
某段时间内的销售业绩汇总数据导出为 HMTL文
档,用于 Web页发布,就可以将 4.3.3节中所述的
,销售业绩查询, 改建为一个生成表查询。只要
运行这个生成表查询,即可创建一个名为, 销售
业绩汇总表, 的数据表对象,这个数据表对象称
为, 生成表, 。以下,让我们来说明如何设计这
样一种 Access查询对象。
4.5.1、生成表查询的作用
设计生成表查询的操作步骤如下, 首先设计合适
的选择查询, 然后将其指定为生成表查询 。 下
面以创建, 销售业绩 _生成表查询, 为例, 说
明其操作步骤 。
复制一份, 销售业绩查询,,并命名为, 销售业
绩 _生成表查询, ;在数据库设计视图中的查
询对象选项卡上选中它,单击工具栏上的, 设
计, 按钮,, ;在随之出现的查询设计
视图中,单击菜单栏上的【查询】 |【生成表查
询】,如图所示。
4.5.2、生成表查询的设计
图 4-20,销售业绩 _生成表查询”设计视图
随之即会弹出, 生成表, 对话框, 如
图所示 。
在, 生成表, 对话框中,需要
确定生成表的名称,并确定生成表
所属的数据库。例如,希望在当前
数据库中,生成一个名为, 销售业
绩汇总表, 的生成表,即可设计如
图中所示设计参数。单击, 确定,
按钮,, ;即完成了, 销售
业绩 _生成表查询, 的设计操作。
图 4-21,生成表”对话框
设计完成一个生成表查询后,就可以打
开运行它。与打开前述两类查询的情况不同,
Access并不显示查询数据表视图,而是在数据
库中新建了一个数据表对象,其中的数据即
为生成表查询运行的结果。
例如,,销售业绩 _生成表查询, 打开一
次的结果,就是在数据库中新建了一个名为
,销售业绩汇总表, 的数据表对象,其中的
数据就是, 销售业绩 _生成表查询, 的运行结
果。可以打开这个数据表查看以下,会发现
它的数据显示内容完全相同于, 销售业绩查
询, 的数据显示内容。然后,再利用 Access
的数据导出功能,将这个生成表导出为 HMTL
文档,即实现了本节开始提出的设计目标。
查询的实质就是 SQL语句的
应用。观察, 销售业绩 _生成表
查询, 的 SQL语句,就可以看
到,,销售业绩 _生成表查询,
就是在, 销售业绩查询, 的
SQL语句中增加了一个 INTO子
句。
以下是“销售业绩 _生成表
查询”的 SQL语句:
4.5.3、生成表查询的实质
SELECT 销售数据记录,销售日期,库存数据记录,货号,库存
数据记录,货名,
库存数据记录,计量单位,库存数据记录,进货单价,
库存数据记录,库存数量,
销售数据记录,销售单价,Sum(销售数据记录,销售
数量 ) AS 销售数量,
[销售单价 ]*[销售数量 ]-[进货单价 ]*[销售数量 ] AS
销售利润
INTO 销售业绩汇总表
FROM 库存数据记录 INNER JOIN 销售数据记录 ON 库存
数据记录,货号 = 销售数据记录,货号
GROUP BY 销售数据记录,销售日期,库存数据记录,货号,
库存数据记录,货名,
库存数据记录,计量单位,库存数据记录,进货单价,库
存数据记录,库存数量,
销售数据记录,销售单价
ORDER BY 销售数据记录,销售日期 ;
4.5.1、生成表查询的作用
4.5.2、生成表查询的设计
4.5.3、生成表查询的实质
查询只是一个操作的集合,其运行的结果
是一个动态数据集。当查询运行结束时,该动态
数据集合是不会为 Access所保存的。如果希望查
询所形成的动态数据集能够被固定的保存下来,
就需要使用生成表查询了。
例如,如果希望将 CMMIS数据库中记录的
某段时间内的销售业绩汇总数据导出为 HMTL文
档,用于 Web页发布,就可以将 4.3.3节中所述的
,销售业绩查询, 改建为一个生成表查询。只要
运行这个生成表查询,即可创建一个名为, 销售
业绩汇总表, 的数据表对象,这个数据表对象称
为, 生成表, 。以下,让我们来说明如何设计这
样一种 Access查询对象。
4.5.1、生成表查询的作用
设计生成表查询的操作步骤如下, 首先设计合适
的选择查询, 然后将其指定为生成表查询 。 下
面以创建, 销售业绩 _生成表查询, 为例, 说
明其操作步骤 。
复制一份, 销售业绩查询,,并命名为, 销售业
绩 _生成表查询, ;在数据库设计视图中的查
询对象选项卡上选中它,单击工具栏上的, 设
计, 按钮,, ;在随之出现的查询设计
视图中,单击菜单栏上的【查询】 |【生成表查
询】,如图所示。
4.5.2、生成表查询的设计
图 4-20,销售业绩 _生成表查询”设计视图
随之即会弹出, 生成表, 对话框, 如
图所示 。
在, 生成表, 对话框中,需要
确定生成表的名称,并确定生成表
所属的数据库。例如,希望在当前
数据库中,生成一个名为, 销售业
绩汇总表, 的生成表,即可设计如
图中所示设计参数。单击, 确定,
按钮,, ;即完成了, 销售
业绩 _生成表查询, 的设计操作。
图 4-21,生成表”对话框
设计完成一个生成表查询后,就可以打
开运行它。与打开前述两类查询的情况不同,
Access并不显示查询数据表视图,而是在数据
库中新建了一个数据表对象,其中的数据即
为生成表查询运行的结果。
例如,,销售业绩 _生成表查询, 打开一
次的结果,就是在数据库中新建了一个名为
,销售业绩汇总表, 的数据表对象,其中的
数据就是, 销售业绩 _生成表查询, 的运行结
果。可以打开这个数据表查看以下,会发现
它的数据显示内容完全相同于, 销售业绩查
询, 的数据显示内容。然后,再利用 Access
的数据导出功能,将这个生成表导出为 HMTL
文档,即实现了本节开始提出的设计目标。
查询的实质就是 SQL语句的
应用。观察, 销售业绩 _生成表
查询, 的 SQL语句,就可以看
到,,销售业绩 _生成表查询,
就是在, 销售业绩查询, 的
SQL语句中增加了一个 INTO子
句。
以下是“销售业绩 _生成表
查询”的 SQL语句:
4.5.3、生成表查询的实质
SELECT 销售数据记录,销售日期,库存数据记录,货号,库存
数据记录,货名,
库存数据记录,计量单位,库存数据记录,进货单价,
库存数据记录,库存数量,
销售数据记录,销售单价,Sum(销售数据记录,销售
数量 ) AS 销售数量,
[销售单价 ]*[销售数量 ]-[进货单价 ]*[销售数量 ] AS
销售利润
INTO 销售业绩汇总表
FROM 库存数据记录 INNER JOIN 销售数据记录 ON 库存
数据记录,货号 = 销售数据记录,货号
GROUP BY 销售数据记录,销售日期,库存数据记录,货号,
库存数据记录,货名,
库存数据记录,计量单位,库存数据记录,进货单价,库
存数据记录,库存数量,
销售数据记录,销售单价
ORDER BY 销售数据记录,销售日期 ;