Access交流中心

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

请教:查询

wyh99999  发表于:2009-09-07 19:04:02  
复制

每条记录中的[总评]=([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3

 

问题是:有的年级是语、数、英三科的总评,有的是两科的总评。如果是三科的就得:总评/3 是两科的就得:总评/2             

请教:如何在此查询中计算某年级的学科数。

 

点击下载此附件

 

Top
菜鸟先飞 发表于:2009-09-07 19:49:31
点击下载此附件  不知道是不是你要的,你说的两科是比有语数就对拉,有IIF 如果英语分数为0就除2,有分数除三

wyh-感谢各位老师。 发表于:2009-09-07 19:53:11
非常感谢您!我去验证一下.

HPAC 发表于:2009-09-07 19:58:49

根据对 “分校_年级三科总表”分析,如果可以以“英合格数”、“语合格数”、“数合格数”字段只要有一科为零的就判断为学科数为2,否则学科数为3.则可以如下:

 

(iif(英合格数*语合格数*数合格数=0,2,3) AS 学科数) AS 学科数)。

 

点击下载此附件

wyh-感谢各位老师。 发表于:2009-09-07 20:00:43

正是我所要的,谢谢123654fs

 

总评: IIf([英合格数]=0,(([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3)/2,(([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3)/3)

 

这是单一条件:英合格数=0.

再请教: 如果是复合条件, 不确定的 英合格数=0 or 语合格数=0 or 数合格数=0 ,有一个或两个为0时怎么办呢



菜鸟先飞 发表于:2009-09-07 20:08:33

可以采取3楼的办法,加一行判断,或者 就用IIF嵌套

IIf([英合格数]=0,(([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3)/2,IIf([语合格数]=0,(([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3)/2,IIf([数合格数]=0,(([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3)/2,(([语合格率]+[数合格率]+[英合格率])*.7+([语优秀率]+[数优秀率]+[英优秀率])*.3)/3)))



wyh-感谢各位老师。 发表于:2009-09-07 20:09:19

谢谢两位老师,三楼老师说的具有灵活性.

再次谢谢你们!



HPAC 发表于:2009-09-07 20:09:35

参考三楼 的

 

iif(英合格数*语合格数*数合格数=0,2,3) AS 学科数



菜鸟先飞 发表于:2009-09-07 20:09:35
ACCESS 不知道可以象EXCEL样 用IF(and(条件1,条件2,条件3))多条件用

HPAC 发表于:2009-09-07 20:11:14

iif() 可以嵌套的使用,实现你的多条件用途。建议你查一下ACCESS 的IIF 函数帮助,再有问题,再发出来。



wyh-感谢各位老师。 发表于:2009-09-07 20:12:15
123654fs 老师,对不起,我只有一次结贴的机会,请您见谅.

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