Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

更新查询

麒麟  发表于:2010-04-12 17:04:07  
复制

各位帮忙解决一下,谢谢!

    以“及格成绩表”为数据源,创建更新查询,命名为“更新成绩”,按下列要求更新成绩:

1)       当数学和英语在85100之间时,改为100

2)       当数学和英语在6085之间时,改为85

 

点击下载此附件

 

Top
陈福祥 发表于:2010-04-12 20:56:12

因为你的数据源表“及格成绩表”是个查询,而“及格成绩表”的数据源表也是查询,再者,你的源表的源表的源表是好几个表的关系查询。如果用查询去更新查询,好象有点不好整;而用一个查询去同时更新两个查询,好象还是有点不好整,所以,你只能一个一个的对着更新。

我这里暂时给你一个生成表查询,根据你的条件,需要要查询里用到 IIF 函数、至于那个 Between 你觉得喜欢用就用,觉得不喜欢,你可以以你喜欢的方式来整。

这个生成表查询语句如下,你将它复制到你的查询设计器里就行了:

 

SELECT 及格成绩表.学号, 及格成绩表.姓名, 及格成绩表.性别, 及格成绩表.年龄,

IIf([数学] Between 60 And 85,85,IIf([数学]>85,100,[数学])) AS 改数据成绩,

IIf([英语] Between 60 And 85,85,IIf([英语]>85,100,[英语])) AS 改英语成绩,

及格成绩表.数学新, 及格成绩表.英语新

INTO 改成绩后的表
FROM 及格成绩表;

 

如果需要更新查询,可将该语句的部分字段删除,与需要更新的表的字段对应即可。



麒麟 发表于:2010-04-13 12:16:23

谢谢,我好好想想。



总记录:2篇  页次:1/1 9 1 :