(изменено: Антон, 17 января 2012г. 05:18:29)

Тема: Оператор If не справляется с условиями внутри него

Есть оператор If Then Else (Block)
Есть переменные в которых прописываются разные текстовые строки
например
A="ВА-101/1/16"
B="Да"
C="УЗО/2/16/30"
D="ЩС1"
E="ЩС1-1"
Все эти переменные меняются
Получилось условие

If A="ВА-101/1/16" And B="Нет" Then
    RESULT=A
ElseIf A="ВА-101/1/16" And B="Да" Then
    RESULT=A+C
ElseIf A="ВА-101/1/20" And B="Нет" Then
    RESULT=A
ElseIf A="ВА-101/1/20" And B="Да" Then
    RESULT=A+C
....
Else
     RESULT=""
End If
Хотелось добавить туда еще одно условие,а именно:
Если два первых условия в переменных верны A и B то тогда проверять чтобы не было совпадения по двум другим D и E. Уточню если есть автомат ВА-101/1/20 и УЗО/2/16/30 в щите ЩС1 в группе ЩС1-1, то если следующий автомат тоже находится в той же группе и в том же щите тогда его не учитывать и переходить в к следующему.

Re: Оператор If не справляется с условиями внутри него

Не будет ли проще использоать
Select Case?
Другой способ использовать отдельные
блоки If..End If :

If A="ВА-101/1/16" And B="Нет" Then 
RESULT=A
End If
If A="ВА-101/1/16" And B="Да" Then 
RESULT=A+C
End If
If A="ВА-101/1/20" And B="Нет" Then 
RESULT=A 
End If
.......

(изменено: Антон, 18 января 2012г. 00:52:31)

Re: Оператор If не справляется с условиями внутри него

А можно узнать как будет это выглядеть с Select Case если вам не трудно.

Re: Оператор If не справляется с условиями внутри него

Поздно уже завтра покажу
(быстреей найдешь в справке)