当IIf条件为false时,此Round语句将产生错误,当IIf条件为true时将起作用。
我在SQL方面的经验非常有限。我从一个退休的同事那里继承了我正在尝试调整的Access DB,所以我一直在进行故障排除和语法拼写方面的工作。
这是我要开始工作的Round声明:
Round(IIf([Manual] is Not Null,[Manual]/180,[MemberDays]/180),3) AS [%ADM]
故障排除编辑:
Round(IIf([Manual] is Not Null,180/180,100/180),3) AS [%ADM]
“手动”字段是通过以下语句创建的(不确定是否相关,但认为我会添加):
IIf(([2-billing-Prep Export]!wth_date) Is Not Null,[MemberDays]-[Session Cum]+1,"")) AS Manual
预期结果:如果Manual不为null,则%ADM将以Manual / 180填充到3 decpts。如果Manual为null,则%ADM将填充MemberDays / 180至3 dec pts。
实际结果:如果Manual不为null,则该语句有效,但是Manual为null时,%ADM填充#ERROR。 Google告诉我这是因为计算中的字段之一为null ...但是MemberDays绝不会为null。
故障排除编辑的结果:%ADM就像条件始终为真一样填充,即使对于“手动”为或看起来为null的记录也是如此。我很困惑,因为在进行故障排除编辑之前,条件似乎可以识别“手册”中的空值/非空值。
答案 0 :(得分:0)
在^https?:\/\/([^\/]+\.)?(mysite\.com|asite\.com)\/
表达式中,对真部分和假部分都进行求值,并且如果其中之一不能求值,则返回错误。在您的情况下,您认为IIf
有时可能是Manual
,但我不这样认为...因为在Null
的{{1}}公式中,您返回了空字符串,应返回IIf
。空字符串不能除以数字。因此:
将Manual
字段的表达式更改为
Null