(请原谅我没有使用别名)。如果第三季度销售额等于第四季度销售额,我希望我的查询输出说“无”,但是当他们相互平等时,我的输出只是说“向上”。请帮我纠正这段代码
trend: IIf([qryQuarterlyCustomersales3rdQuarter_final]
.[3rd qrtr sls]=[qryQuarterlyCustomersales4thQuarter_final]
.[4th qrtr sls],"none",
IIf([qryQuarterlyCustomersales3rdQuarter_final]
.[3rd qrtr sls]>[qryQuarterlyCustomersales4thQuarter_final]
.[4th qrtr sls],"down","up"))
答案 0 :(得分:1)
什么数据类型是[3rd qrtr sls]和[4th qrtr sls]? 你能发布一些样本数据吗?
这会产生什么?
IIF([qryQuarterlyCustomersales4thQuarter_final]
.[4th qrtr sls] > [qryQuarterlyCustomersales3rdQuarter_final]
.[3rd qrtr sls], "up", IIF([qryQuarterlyCustomersales4thQuarter_final].[4th qrtr sls] <[qryQuarterlyCustomersales3rdQuarter_final]
.[3rd qrtr sls], "down", "none"))
如果仍然产生“up”,那么你知道存储在这两列中的值不相等
答案 1 :(得分:0)
您确定这两个值完全相同吗?
如上所述,内部iif
语句中似乎存在轻微错误,但这并不能解释您目前获得的结果。
伪代码帮助我理解这些表达式是如何工作的:
if q3 = q4
"none"
else*
if q3 > q4
"up"
else*
"down"
*请注意隐含else
;这里不是合法的语法
尽可能少地进行更改,这应该按照您的预期进行:
trend: IIf([qryQuarterlyCustomersales3rdQuarter_final]
.[3rd qrtr sls] = [qryQuarterlyCustomersales4thQuarter_final]
.[4th qrtr sls],"none",
IIf([qryQuarterlyCustomersales3rdQuarter_final]
.[3rd qrtr sls] > [qryQuarterlyCustomersales4thQuarter_final]
.[4th qrtr sls],"up","down")) # <- these final two args should be switched
语法
IIf(expr,truepart,falsepart)
IIf函数语法有这些 参数:
ARGUMENT DESCRIPTION expr必需。 您要评估的表达式。 truepart必需。价值或表达 如果expr为True则返回。 falsepart必需。价值或 如果expr为False,则返回表达式。