PDA

Показать полную графическую версию : Завершение условий


Тишина
09-04-2014, 15:29
Ребята, я немного запутался с синтаксисом... пожалуйста, помогите!

есть куча вложенных условий. я запутался с "закрытием" условия при помощи end if, например в этом кусочке кода что к чему будет относиться?

if lCount = 1
then
requirements_list_Validation = "Requirements must belong to RAProject: " + sRAProjectName + _". The following Requirement belongs to a different RAProject:" + sError

elseif lCount > 1
then
requirements_list_Validation = "Requirements must belong to RAProject: " + sRAProjectName + _". The following Requirements belong to different RAProject:" + sError
end if

else
a_vTableDBIDs = getfieldValue(ac_sCQReqListAttName).GetValueAsList
if not IsEmpty(a_vTableDBIDs)

then
if (LBound(a_vTableDBIDs) <= UBound(a_vTableDBIDs))

Then
requirements_list_Validation = "Please select an RA Project in order to create associations to Requirement records."

end if
end if
end if



я здесь уже поставил табуляции, но они могут быть ошибочными. больше всего интересует "приоритет" для однострочных тел условия, как указано здесь (забирёт ли THEN под себя END IF или это сделает then что описан выше?)

Iska
09-04-2014, 16:21
У Вас наблюдается несогласованность условий. Вот первая часть после исправлений:
If lCount = 1 Then
requirements_list_Validation = "Requirements must belong to RAProject: " + sRAProjectName + _". The following Requirement belongs to a different RAProject:" + sError
ElseIf lCount > 1 Then
requirements_list_Validation = "Requirements must belong to RAProject: " + sRAProjectName + _". The following Requirements belong to different RAProject:" + sError
End If

— корректная. Дальше у Вас идёт «else» без предшествующего «If».

Тишина
11-04-2014, 16:23
спасибо! кажется, разобрался с синтаксисом! "на каждый многострочный IF вылезает свой END IF" + если ELSE(IF) добавляется даже однострочный - то всё равно закрывается END IF"




© OSzone.net 2001-2012