2009-08-27 6 views
3

Reporting Services 2005 vs2005のテキストフィールドに最後の2文字を含まない文字列を表示したいとします。 複数の方法を試しましたが、文字列が空またはnullの場合、エラーが発生します。 rsRuntimeErrorInExpression - テキストボックスの値式にエラーがあります。引数 'Length'はゼロ以上でなければなりません。 -SQL Reporting Servicesの空の文字列処理

IIF(!!!2)トリム(フィールドkuku.Value)= ""、 ""、左(フィールズkuku.Value、レン(フィールズkuku.Value)):

ここに私が試した方法があります

IIF(IsNothing(Fields!kuku.Value)およびLen(Fields!kuku.Value)= 0、 ""、Left(Fields!kuku.Value、Len(Fields!kuku.Value) - 2))

IIF(IsNothing(フィールズkuku.Value)、 ""、左(フィールズkuku.Value、レン(フィールズkuku.Value) - !!!2))!

IIF(レン(フィールドkuku.Value) = 0、 ""、Left(Fields!kuku.Value、Len(Fields!kuku.Value)-2))

私は間違って何をしているかについてのアイデアはありますか?前もって感謝します。

答えて

4

isnull(field、 "、")を使用するようにフィールドのデータセットを変更すると、2文字をいつでも安全に削除できます。

または

IIF(IsNothing(Fields!kuku.Value) OR Len(Fields!kuku.Value) < 2,"",Left(Fields!kuku.Value, Len(Fields!kuku.Value) - 2)) 

ORに変更に注意してください。そして、長さが1に変更された場合にのみ=0<2

関連する問題