Access交流中心

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

查询IIF问题

雪山  发表于:2014-02-13 17:04:16  
复制

在查询中,写了个IIF代码,但无法执行,请高手帮忙看看:人数: IIf([生产工时]>Sum([生产工时])/Sum([用量])*1.4,[生产工时]/Sum([生产工时])/Sum([用量])*[用量],([用量])),意思是,当生产工时大于总生产工时与总用量商的1.4倍时,人数为生产工时除以总生产工时与总用量的商再乘以用量,否则就等于用量。谢谢

 

Top
在水一方 发表于:2014-02-13 19:15:42

这个公式用一个查询无法实现,分开即可

先计算Sum([生产工时])和Sum([用量])

再把查询用到公式的查询视图里面

查询1:


SELECT 表1.id, Sum(表1.用量) AS 总用量, Sum(表1.生产工时) AS 总生产工时
FROM 表1
GROUP BY 表1.id;


查询2:

SELECT 表1.id, 表1.用量, 表1.生产工时, 查询1.总用量, 查询1.总生产工时,

IIf([总生产工时]/[总用量]>1.4,[生产工时]/([总生产工时]/[总用量])*[用量],[用量]) AS 人数, [总生产工时]/[总用量] AS 比例

FROM 查询1 INNER JOIN 表1 ON 查询1.id = 表1.id;



在水一方 发表于:2014-02-13 19:43:19
ynfsr 发表于:2014-02-13 23:13:03

人数: IIf(dsum("生产工时","表1","[id]='" & [id] & "'")>(dsum("生产工时","表1","[id]='"&[id]&"'")/dsum("用量","表1","[id]='" & [id] & "'"))*1.4,[生产工时]/(dsum("生产工时","表1","[id]='"&[id]&"'")/dsum("用量","表1","[id]='"&[id]&"'"))*[用量],[用量])





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