如果在Excel – Ms Access DB中声明
任何人都可以build议下面的IF语句的语法,
IIf ( Cur_Insert_Cost, Cur_Insert_Cost/Cur_Insert_Edges, Cur_Regrindable_Cost/(Cur_Regrinds_Possible+1) ) AS Cur_Cost_Edge_Regrind
上面的行是从Ms-Access DB的Excel报告
我不明白的条件部分…. !!!
Cur_Insert_Cost,Cur_Insert_Edges,Cur_Regrindable_Cost等是列名
IIF是一个三元运算符。 它由三部分组成,用逗号隔开
iif(expression, truepart, falsepart)
在你的情况下,这意味着:
if Cur_Insert_Cost is not zero then return the result of the expression Cur_Insert_Cost/Cur_Insert_Edges else return the result of the expression Cur_Regrindable_Cost/(Cur_Regrinds_Possible+1)
结果将在查询中被命名为Cur_Cost_Edge_Regrind
testing是如果Cur_Insert_Cost被认为是空的false或任何访问计数为false。
所以这可能意味着Cur_Insert_Cost = NULL,0,'',假(我想我忘了一些替代品)
正如你可以看到第一部分使用的是和IIRC Cur_Insert_Cost应用于NULL将给予exceptoin(但这只是从我的记忆)
声明说,列Cur_Cost_Edge_Regrind
的值是:
- 如果
Cur_Insert_Cost
为TRUE(或1),则Cur_Insert_Cost/Cur_Insert_Edges
的结果 - 如果
Cur_Insert_Cost
为FALSE(或0),则Cur_Regrindable_Cost/(Cur_Regrinds_Possible+1)
)
希望有帮助…