2015-04-07 67 views
0

我想通过MS Access中的SQL语句根据大小标准计算费用。IFF语句与计算

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

这里是IFF声明我在访问中写道

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

是它的工作?如果问题实际上不起作用,或者我们不知道如何帮助您,您需要解释问题所在。 –

回答

1

尝试删除这些双围绕你的价值观的报价,使他们被视为数字而不是字符串(文本):

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

+0

我最喜欢你的。 ;)伟大的思想+1的想法都一样。 –

1

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

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

哦,男人,他要选谁? –

0

没有必要为第二I如果,所以可以简化为:

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