4.6、追加查询设计
4.6.1、追加查询的作用
4.6.2、追加查询的设计
4.6.3、追加查询的实质
4.6.1、追加查询的作用
如果需要从数据库的某一个数据表中筛选
出一些数据,可以使用选择查询。进而,如果
需要将这些筛选出来的数据追加到另外一个结
构相同的数据表中,则必须使用追加查询了。
因此,追加查询的作用就是,从一个数据表中
筛选出一些数据追加到另外一个具有相同结构
的数据表中。同样可以与 xBase所支持的
Append From语句作一个比较,就可以看到它
与 Access的追加查询的功能是相同的。但是,
二者的使用方式却不尽相同,Access追加查询
数据源应该是提供数据的表对象,亦即数据源
表是显式打开的,而接收数据的表对象并未显
式打开。
例如,在介绍生成表查询时,曾经
创建了一个名为, 销售业绩 _生成表查
询, 的生成表查询,用, 销售数据记录,
表中的数据生成一个, 销售业绩汇总,
表。随着商品销售业务的不断进行,新
的销售数据记录不断产生,于是希望能
够利用新产生的销售数据记录形成新的
一段时间内的销售业绩数据,将其追加
到, 销售业绩汇总, 表中。这就必须应
用追加查询功能了。
首先,创建一个选择查询,其数据源为需要
从中筛选数据的表对象。接着,将其中需要追加
到另一个表对象中的字段逐一拖曳至查询设计视
图的, 字段, 行中;然后,单击菜单栏上的【查
询】 |【追加查询】,在回答了随即弹出的, 追加,
对话框中关于被追加表对象名称的问题后,可以
看到在查询设计视图中新增一个, 追加到, 行。
这时,需要在, 追加到, 行中逐个输入需要追加
数据的表对象中的对应字段名(当然可以应用向
导完成这项操作,此处并不要求数据源表对象字
段名与追加数据表对象字段名相同)。如此,即
完成了追加查询的设计。运行该查询,数据源表
中的相关数据就追加到指定的数据表中的对应字
段中去了。
4.6.2、追加查询的设计
现以设计, 销售业绩 _追加查询, 为例, 说
明追加查询的设计方法 。, 销售业绩 _追加查询,
的追加表对象及其对应字段与生成表查询中的
实例说明相同, 如图所示 。
首先,新建一个选择查询,指定数据源为
,销售数据记录, 表和, 库存数据记录, 表。
接着,逐一将数据源表中相关的字段拖曳至查
询的, 字段, 行中,并创建一个销售利润计算
列。然后,单击菜单栏上的【查询】 |【追加查
询】,在随即弹出的, 追加, 对话框中选择当
前数据库,并在, 表名称, 列表框中选择, 销
售业绩汇总表, 。单击, 确定, 按钮,即完成
了, 销售业绩 _追加查询, 对象的设计操作。图
示为, 销售业绩 _追加查询, 的查询设计视图及
其各项设计参数。
图 4-21 在“追加”对话框中选择选择“销售利
润明细查询( 2004年 10月下)”
图 4-22,销售业绩 _追加查询”的设计参数
查询的实质就是 SQL语句的应用。观察
,销售业绩 _追加查询, 的 SQL语句,就
可以看到,,销售业绩 _追加查询, 是一
条用于追加数据库记录的 SQL语句:
INSERT INTO 销售业绩汇总表 ( 销售日期,
货号,货名,计量单位,进货单价,库
存数量,
销售单价,销售数量,销售金额,销售利
润 )
4.6.3、追加查询的实质
SELECT 销售数据记录,销售日期,库存数据记录,货号,库存
数据记录,货名,
库存数据记录,计量单位,库存数据记录,进货单价,库存数据
记录,库存数量,
销售数据记录,销售单价,Sum(销售数据记录,销售数量 ) AS
销售数量,
Sum([销售数据记录 ]![销售单价 ]*[销售数据记录 ]![销售数
量 ]) AS 销售金额,
[销售单价 ]*[销售数量 ]-[进货单价 ]*[销售数量 ] AS 销售利

FROM 库存数据记录 INNER JOIN 销售数据记录 ON 库存
数据记录,货号 = 销售数据记录,货号
GROUP BY 销售数据记录,销售日期,库存数据记录,货号,
库存数据记录,货名,
库存数据记录,计量单位,库存数据记录,进货单价,库存数
据记录,库存数量,
销售数据记录,销售单价
ORDER BY 销售数据记录,销售日期 ;