2017-06-27 9 views
0

私はレポートサービス2012年式がある中での発現に問題がある:値は(最初の条件が真である)、nullである、Reporting Servicesの表現は#エラー「半ば」と

iif(IsNothing(Fields!CHEGADA_LUME.Value)," ",mid(Fields!CHEGADA_LUME.Value,12,instr(Fields!CHEGADA_LUME.Value,":00")-12)) 

式は#Errorを返します。ただし、値がNULLでない場合、式は正常に動作します。

答えて

0

Iifはどちらが返されても関係なく両方の式を評価します。

Midは値としてNULLを受け入れることはできません(整数が必要です)。したがって、文字列がnullの場合にmidの3番目のパラメータとして0を返す必要があります。

=iif(
IsNothing(Fields!CHEGADA_LUME.Value), 
" ", 
mid(Fields!CHEGADA_LUME.Value,12,iif(
IsNothing(Fields!CHEGADA_LUME.Value),0,instr(Fields!CHEGADA_LUME.Value,":00")-12) 
))