IF语句与计算

时间:2015-04-07 21:07:26

标签: ms-access

我正在尝试通过MS Access中的SQL语句根据大小标准计算费用。

例如,如果`x< 24,计算数量*费用或如果x> = 24计算数量x AltFee

这是我在Access

中写的Iff语句
IIf([Query Testing].[Size]<"24",[Query Testing].[Quantity]*[DepositAndFees].[Fee],IIf([Query Testing].[Size]>="24",[Query Testing].[Quantity]*[DepositAndFees].[AltFee]))

3 个答案:

答案 0 :(得分:2)

您的尺寸字段是文本数据类型吗?你有它的引号,它会将它作为一个字符串进行评估。尝试不带引号运行它(假设它是数字类型)

IIf([Query Testing].[Size]<24,[Query Testing].[Quantity]*[DepositAndFees].[Fee],
IIf([Query Testing].[Size]>=24,[Query Testing].[Quantity]*[DepositAndFees].[AltFee]))

答案 1 :(得分:1)

尝试删除值周围的双引号,以便将它们视为数字而不是字符串(文本):

IIf([Query Testing].[Size]<24,[Query Testing].[Quantity]*[DepositAndFees].[Fee],IIf([Query Testing].[Size]>=24,[Query Testing].[Quantity]*[DepositAndFees].[AltFee]))

答案 2 :(得分:0)

不需要第二个IIf,因此可以简化为:

[Query Testing].[Quantity]*IIf([Query Testing].[Size]<24,[DepositAndFees].[Fee],[DepositAndFees].[AltFee])