44更新查询设计 4.4.1、更新查询的作用 0442、更新查询的设计 0443、更新查询的实质
4.4 更新查询设计 4.4.1、更新查询的作用 4.4.2、更新查询的设计 4.4.3、更新查询的实质
441、更新查询的作用 如果需要对数据表中的某些数据进行有规 律地成批更新替换操作,就可以使用更新查 询来实现。如果读者曾经学习过 XBase一类 的数据库系统工具,可以理解为: Access 2003中的更新查询相当于 XBase中的 Replace 语句的功能。 例如,现需要在CMM数据库中将所 有商品的销售单价高于6元的那些商品的销 售单价下调10%,如果在数据表视图中采用 手工操作,将是一件不可思议的事情。设计 个更新查询就可以很方便地完成这样的操 作
如果需要对数据表中的某些数据进行有规 律地成批更新替换操作,就可以使用更新查 询来实现。如果读者曾经学习过xBase一类 的数据库系统工具,可以理解为:Access 2003中的更新查询相当于xBase中的Replace 语句的功能。 例如,现需要在CMMIS数据库中将所 有商品的销售单价高于6元的那些商品的销 售单价下调10%,如果在数据表视图中采用 手工操作,将是一件不可思议的事情。设计 一个更新查询就可以很方便地完成这样的操 作。 4.4.1、更新查询的作用
4.4.2、更新查询的设计 首先,创建一个选择査询,指定其数据源 为需要更新其中数据的表对象。接着,将其中需 要更新数据的字段逐一拖曳至查询设计视图的 “字段”行中。然后,单击菜单栏上的【查询】 【更新查询】,可以看到在查询设计视图中新 增一个“更新到”行。此时,需要在该行中填入 数据更新的规则,例如“销售单价*0.9”。如果 只是需要更新某些满足一定条件的记录中的数据 则应该在查询设计视图的“ Where”行中填写记 录更新条件,例如“销售单价>6元”。最后 保存这个查询对象,即完成了一个更新查询对象 的设计操作。只需运行该查询对象,数据源表中 的相关数据就按照数据更新规则得到了更新
首先,创建一个选择查询,指定其数据源 为需要更新其中数据的表对象。接着,将其中需 要更新数据的字段逐一拖曳至查询设计视图的 “字段”行中。然后,单击菜单栏上的【查询】 |【更新查询】,可以看到在查询设计视图中新 增一个“更新到”行。此时,需要在该行中填入 数据更新的规则,例如“销售单价*0.9”。如果 只是需要更新某些满足一定条件的记录中的数据, 则应该在查询设计视图的“Where”行中填写记 录更新条件,例如“销售单价>6元”。最后, 保存这个查询对象,即完成了一个更新查询对象 的设计操作。只需运行该查询对象,数据源表中 的相关数据就按照数据更新规则得到了更新。 4.4.2、更新查询的设计
首先,创建一个选择査询,指定其数据源 为需要更新其中数据的表对象。接着,将其中需 要更新数据的字段逐一拖曳至查询设计视图的 “字段”行中。然后,单击菜单栏上的【查询】 【更新查询】,可以看到在查询设计视图中新 增一个“更新到”行。此时,需要在该行中填入 数据更新的规则,例如“销售单价*0.9”。如果 只是需要更新某些满足一定条件的记录中的数据 则应该在查询设计视图的“ Where”行中填写记 录更新条件,例如“销售单价>6元”。最后, 保存这个查询对象,即完成了一个更新查询对象 的设计操作。只需运行该查询对象,数据源表中 的相关数据就按照数据更新规则得到了更新
首先,创建一个选择查询,指定其数据源 为需要更新其中数据的表对象。接着,将其中需 要更新数据的字段逐一拖曳至查询设计视图的 “字段”行中。然后,单击菜单栏上的【查询】 |【更新查询】,可以看到在查询设计视图中新 增一个“更新到”行。此时,需要在该行中填入 数据更新的规则,例如“销售单价*0.9”。如果 只是需要更新某些满足一定条件的记录中的数据, 则应该在查询设计视图的“Where”行中填写记 录更新条件,例如“销售单价>6元”。最后, 保存这个查询对象,即完成了一个更新查询对象 的设计操作。只需运行该查询对象,数据源表中 的相关数据就按照数据更新规则得到了更新
新建一个选择査询,指定数据源 为“柜存数据记录”表,将“柜存数 据记录”表中字段“销售单价”拖曳 至“字段”行中,单击菜单栏上的 【查询】|【更新查询】。在“更新到” 行中输入计算更新规则“[柜存数据记 录]![销售单价]*0.9”,在“准则” 行中输入计算更新条件“>6”(当然 也可以应用向导完成这两行的规则输 入操作)。图4-28所示为“销售单价 更新查询”的设计参数
新建一个选择查询,指定数据源 为“柜存数据记录”表,将“柜存数 据记录”表中字段“销售单价”拖曳 至“字段”行中,单击菜单栏上的 【查询】|【更新查询】。在“更新到” 行中输入计算更新规则“[柜存数据记 录]![销售单价]*0.9”,在“准则” 行中输入计算更新条件“> 6”(当然 也可以应用向导完成这两行的规则输 入操作)。图4-28所示为“销售单价_ 更新查询”的设计参数
图4-17“销售单价更新查询”设计参数 销售单价更新查询:更新查询区 柜存数据 货号 货名 规格 字段:销售单价 表:柜存数据记录 更新到:[柜存效据记录]销 条件:x 或
图4-17 “销售单价_更新查询”设计参数
设计完成一个更新查询后,就 可以打开它。与打开选择查询对象、 交叉表查询对象的情况不同 Access2003并不显示查询数据表视 图,而是根据指定的更新条件与计 算更新规则,在数据库中更新了数 据源表中相关字段的数据。比如, “销售单价更新查询”打开一次 的结果,就将“柜存数据记录”表 中的“销售单价”字段数据下调了 10%,且只是改变那些原销售单价 高于6元的记录中的数据
设计完成一个更新查询后,就 可以打开它。与打开选择查询对象、 交叉表查询对象的情况不同, Access 2003并不显示查询数据表视 图,而是根据指定的更新条件与计 算更新规则,在数据库中更新了数 据源表中相关字段的数据。比如, “销售单价_更新查询”打开一次 的结果,就将“柜存数据记录”表 中的“销售单价”字段数据下调了 10%,且只是改变那些原销售单价 高于6元的记录中的数据
图418*柜存数据记录”表更新前的数据 柜存数据记录:表 回区 货号货名规格计量单位销售单价柜存数量上柜日期上柜人营业员」 0202绿野香花生 250G袋 1.6072004-10-15李倩如夏筝芳 +0203小米钢巴 125G袋 85009200410-15李倩如夏筝芳 +0205烤馒锅巴125G袋 1.20 19200-115张大宏钟舒宁 0203大九制话梅大包装袋1.10520091017李倩如张小利 0209小九制语梅小包装袋 0.905200410-17李倩如张小利 +0212大土豆泥即食盒 2.5082004-10-17程盘张小利 +0215金箭开心果125G盒4.7020200-1017程鑫贤菊 +02!1小代彩红糖彩装袋0.908200410-17赵楠欣钟舒宁 +0248雀巢高钙奶粉506袋18:0092041017楠欣钟舒宁 +0252扬子江中老年奶粉500袋 13.0017200-10-17赵楠欣钟舒宁 0254开胃梅彩装盒 1.503200-1017赵楠欣钟舒宁 +1007小椰岛酒250L瓶 65016200-82李倩如夏筝芳 +1011剑南春 185002200462大宏夏筝芳 记录:国04「130小共有记录数:142
图4-18 “柜存数据记录”表更新前的数据
图+19“柜存数据记录”表更新后的数据 柜存数据记录:表 包回囟 货号货名规格计量单位销售单价柜存数量[上柜日期上柜人营业员 202绿野香花生250G袋 1.6072004-10-15李倩如夏筝芳 0203小米锅巴 125G袋 76509200-10-15李倩如夏筝芳 +0205烤馒锅巴1256袋 1.20 192004115张大宏钟舒宁 +Q208大九制话梅大包装袋 1.105200410-17李倩如张小利 +0209小九制话梅小包装袋 0.905200410-17李倩如张小利 0212大土豆泥即食盒 2508200-10-17程鑫张小利 0215金箭开心果1256盒 47020200-10-17程鑫齐贤菊 +021小代彩红糖彩装袋 0.908200-10-17楠欣钟舒宁 +0248雀巢高钙奶粉500G袋 16.209200-1-17赵楠欣钟舒宁 0252扬子江中老年奶粉500袋 11017200-1017赵楠欣钟舒宁 0254开胃梅彩装盒 1503204-10-17赵楠欣钟舒宁 +1007小椰岛酒250L瓶 5.85162042李传如夏筝芳 +1011剑南春 166502200416-22大宏夏筝芳 记录:国「1DD湘共有记录数:142
图4-19 “柜存数据记录”表更新后的数据
443、更新查询的实质 查询的实质就是SQL语句的应用 观察“销售单价更新查询”的SQL语 句,就可以看到,“销售单价更新查 询”是一条用于数据库数据更新的 SQL语句: UPDATE柜存数据记录SET柜存数据记 录销售单价=[柜存数据记录][销售 单价]*0.9 WHERE(柜存数据记录销售单价)>6)
查询的实质就是SQL语句的应用。 观察“销售单价_更新查询”的SQL语 句,就可以看到, “销售单价_更新查 询”是一条用于数据库数据更新的 SQL语句: UPDATE 柜存数据记录 SET 柜存数据记 录.销售单价 = [柜存数据记录]![销售 单价]*0.9 WHERE (((柜存数据记录.销售单价)>6)); 4.4.3、更新查询的实质