微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Access女士需要基于同一表字段上的多个条件进行计算

如何解决Access女士需要基于同一表字段上的多个条件进行计算

我想问一个有关简单的MS Access项目的以下问题,

我有一个包含4个字段A,B,C,SUM的表,我想创建一个表格以获取值A,B,C(已完成)和一个查询,以基于多个条件计算结果表格字段:

IF A<=5 AND B<=2 THEN SUM = X1 value  + Y1 value + (C * Z1 value) + H
IF A>=5,01 AND A<50 AND B<=2 THEN SUM = X2 value  + Y2 value + (C * Z1 value)+ H
IF A>50 AND B<=2 THEN SUM = X3 value  + Y3 value + (C * Z1 value)+ H

(X1,X2,X3,Y1,Y2,Y3,Z1,Z2,H是我已经拥有的整数值)

IF A<=5 AND B>2 THEN SUM = X1 value  + Y1 value + (C * Z1 value)+ H
IF A>=5,01 AND A<50 AND B>2 THEN SUM = X2 value  + Y2 value + (C * Z1 value)+ H
IF A>50 AND B>2 THEN SUM = X3 value  + Y3 value + (C * Z1 value)+ H

有人可以帮我实现这个公式, 我想我必须建立一个查询,但是有人可以指导我语法吗?

提前谢谢大家。 !!!

解决方法

首先,建议您不要使用“ SUM”作为字段名称,因为它表示聚合函数,并且我也相信保留字。 check(https://support.microsoft.com/en-us/office/learn-about-access-reserved-words-and-symbols-ae9d9ada-3255-4b12-91a9-f855bdd9c5a2#:~:text=%22Reserved%20words%22%20are%20words%20and,when%20referring%20to%20the%20field.)在MS Access SQL中,您可以使用条件语句IIF,例如

IIF(CONDITION,如果为true,则返回,如果为false,则返回)。最终,您可能会嵌套IIF语句。 例子

res(Your SUM) =(IIF(A<=5 AND B<=2,X1 + Y1 + H + C*Z1,IIF(A BETWEEN 5 AND 50 AND B2 >2,X2 + Y2 + H + C*Z1,X3 + Y3 + H + C*Z1))

所以您的查询应该类似于

 "SELECT A,B,C,(IIF(A<=5 AND B<=2,X3 + Y3 + H + C*Z1)) AS res
 FROM your_table_name"

您将必须提供Xs,Ys,Zs,H和C值作为参数或硬键入。您也可以考虑使用BETWEEN。

它可能有点杂乱,但这就是它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。