[英]Access SQL IIF statement not evaluating correctly
我有一个使用iif
语句的Access SQL查询,该语句未正确评估。 我看不到iif
语句的问题。
下面的SQL代码产生下面的表。
SELECT PR,
G21_Start AS Genesis_Date,
SWITCH(G21_comp IS NULL, 2.1,
G22_comp IS NULL, 2.2,
G31_comp IS NULL, 3.1,
G32_comp IS NULL, 3.2,
G33_comp IS NULL, 3.3,
G4_comp IS NULL, 4,
1=1, 0) AS Current_Gate,
DSUM ("Goal", "qry_Gate_Status", "Gate <= " & Current_Gate & " AND PR
= '" & PR & "'") AS Target_Days,
(DATE() - G21_Start) AS Elapsed,
IIF (Elapsed > Target_Days, "Overdue", "On Track") AS Contract_Health
FROM qry_Gate_Status_Extended;
结果:
PR Genesis_Date Current_Gate Target_Days Elapsed Contract_Health
AA 3/8/2019 2.1 45 90 Overdue
AB 1/1/2019 3.1 73 156 On Track
BB 5/1/2019 2.2 59 36 On Track
BC 9/19/2018 2.1 45 260 On Track
如果“ Elapsed
时间”大于Target_Days
则Contract_Health
应为"Overdue"
否则应为"On Track"
。
如您所见,结果不一致。 有一件事我做通知是Target_Days
(结果DSUM
)左对齐,如文本字段,而不是右对齐的数字。 我一定在俯视
谢谢你的帮助。
我使用VAL()函数将我认为是数字的数字转换为实际数字,并且可以正常工作。
VAL(DSUM ("Goal", "qry_Gate_Status", "Gate <= " & Current_Gate & " AND PR
= '" & PR & "'")) AS Target_Days
谢谢你的提示!!! 你们好棒!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.