2017-11-02 5 views
0

보고서 작성기에서 보고서를 작성하고 계산 된 필드를 작성하고 있습니다.중첩 IIF가 오류를 발생합니다.

나는 시도하고 DDICU.value가 비어 있지만 DDICU

누구나 어떤 아이디어를 가지고있는 값이 올바르게 때 중첩 된 iif 문이 작동 할 때 나는 오류가 표현

=iif(IsNothing(Fields!DDICU.Value),"",iif(fields!DDICU.value > Parameters!end.value,"00:00",fields!TDICU.value.tostring)) 

를 입력?

답변

3

IIF() 오퍼레이터는 TRUE와 FALSE 절 결과를 제공하기 전에 두 평가한다. 따라서 FALSE 절이 오류를 제공하면 여전히 오류가 발생합니다.

은 다음 예를 참조하십시오 :

Option Explicit 

Public Sub TestMe() 

    If True Then 
     Debug.Print 2 
    Else 
     Debug.Print 0/0 
    End If 

    Debug.Print IIf(True, 1, 0/0) 

End Sub 

모두 IFIIF 거의 같은 모양을하지만 0/0을 계산하기 위해 노력할 것 때문에 VBA는 IIF()에서 오류가 발생합니다. If 조건으로 인해 0/0을 계산하지 않으므로 오류가 발생하지 않습니다.

+0

DDICU에 값이있는 경우 - DDICU에 값이없는 경우에만 표현식이 올바르게 평가됩니다. –

+0

@ PhilStuart-Douek - 표준 if-else로 빌드하려고 시도합니다. – Vityata

+0

거짓 절이 오류를 표시하지 않습니다. 오류를 제공하는 것은 true 절입니다. –

관련 문제