If子句未按预期工作

时间:2012-11-24 12:57:14

标签: asp-classic

我有以下if子句:

if ucase(displayanzeige) = "Y" \
or isnull(displayanzeige)      \
and ucase(bstatus) = "2"       \
or ucase(bstatus) = "1"

if子句的第一部分正在运行:

if ucase(displayanzeige) = "Y" \
or isnull(displayanzeige)

但第二部分不起作用:

and ucase(bstatus) = "2"      \
or ucase(bstatus) = "1"

if子句有什么问题?请帮忙

2 个答案:

答案 0 :(得分:4)

使用括号来帮助识别您的if条件:

if (ucase(displayanzeige) = "Y" or isnull(displayanzeige))
    and (ucase(bstatus) = "2" or ucase(bstatus) = "1")

您目前有:

1 or 2 and 3 or 4

系统可以将此解释为“ 1必须为true或2和3或4必须为真

放置括号,如:

(1 or 2) and (3 or 4)

告诉系统“ 1或2必须为真,3或4必须为真

答案 1 :(得分:2)

使用括号可以解决您的问题: -

 if (ucase(displayanzeige) = "Y" or isnull(displayanzeige)) and (ucase(bstatus) = "2" or ucase(bstatus) = "1")

目前系统无法按您的意愿解释条件。使用brackets对您来说是更好的选择。