4.4 更新查询设计
4.4.1、更新查询的作用
4.4.2、更新查询的设计
4.4.3、更新查询的实质
如果需要对数据表中的某些数据进行有规
律地成批更新替换操作, 就可以使用更新查
询来实现 。 如果读者曾经学习过 xBase一类
的数据库系统工具, 可以理解为,Access
2003中的更新查询相当于 xBase中的 Replace
语句的功能 。
例如,现需要在 CMMIS数据库中将所
有商品的销售单价高于 6元的那些商品的销
售单价下调 10%,如果在数据表视图中采用
手工操作,将是一件不可思议的事情。设计
一个更新查询就可以很方便地完成这样的操
作。
4.4.1、更新查询的作用
首先,创建一个选择查询,指定其数据源
为需要更新其中数据的表对象。接着,将其中需
要更新数据的字段逐一拖曳至查询设计视图的
,字段, 行中。然后,单击菜单栏上的【查询】
|【更新查询】,可以看到在查询设计视图中新
增一个, 更新到, 行。此时,需要在该行中填入
数据更新的规则,例如, 销售单价 *0.9” 。如果
只是需要更新某些满足一定条件的记录中的数据,
则应该在查询设计视图的, Where”行中填写记
录更新条件,例如, 销售单价 >6元, 。最后,
保存这个查询对象,即完成了一个更新查询对象
的设计操作。只需运行该查询对象,数据源表中
的相关数据就按照数据更新规则得到了更新。
4.4.2、更新查询的设计
首先,创建一个选择查询,指定其数据源
为需要更新其中数据的表对象。接着,将其中需
要更新数据的字段逐一拖曳至查询设计视图的
,字段, 行中。然后,单击菜单栏上的【查询】
|【更新查询】,可以看到在查询设计视图中新
增一个, 更新到, 行。此时,需要在该行中填入
数据更新的规则,例如, 销售单价 *0.9” 。如果
只是需要更新某些满足一定条件的记录中的数据,
则应该在查询设计视图的, Where”行中填写记
录更新条件,例如, 销售单价 >6元, 。最后,
保存这个查询对象,即完成了一个更新查询对象
的设计操作。只需运行该查询对象,数据源表中
的相关数据就按照数据更新规则得到了更新。
新建一个选择查询,指定数据源
为, 柜存数据记录, 表,将, 柜存数
据记录, 表中字段, 销售单价, 拖曳
至, 字段, 行中,单击菜单栏上的
【查询】 |【更新查询】。在, 更新到,
行中输入计算更新规则, [柜存数据记
录 ]! [销售单价 ]*0.9”,在, 准则,
行中输入计算更新条件, > 6” (当然
也可以应用向导完成这两行的规则输
入操作)。图 4-28所示为, 销售单价 _
更新查询, 的设计参数。
图 4-17,销售单价 _更新查询”设计参数
设计完成一个更新查询后,就
可以打开它。与打开选择查询对象、
交叉表查询对象的情况不同,
Access 2003并不显示查询数据表视
图,而是根据指定的更新条件与计
算更新规则,在数据库中更新了数
据源表中相关字段的数据。比如,
,销售单价 _更新查询, 打开一次
的结果,就将, 柜存数据记录, 表
中的, 销售单价, 字段数据下调了
10%,且只是改变那些原销售单价
高于 6元的记录中的数据。
图 4-18,柜存数据记录”表更新前的数据
图 4-19,柜存数据记录”表更新后的数据
查询的实质就是 SQL语句的应用 。
观察, 销售单价 _更新查询, 的 SQL语
句, 就可以看到,, 销售单价 _更新查
询, 是一条用于数据库数据更新的
SQL语句:
UPDATE 柜存数据记录 SET 柜存数据
记录,销售单价 = [柜存数据记录 ]![销
售单价 ]*0.9
WHERE (((柜存数据记录,销售单价 )>6));
4.4.3、更新查询的实质