2009-08-27 2 views
3

Reporting Services 2005 vs2005의 텍스트 필드에 마지막 2 자없이 문자열을 표시하려고합니다. 여러 방법을 시도하고 문자열이 비어 있거나 null 인 경우 오류가 발생합니다. rsRuntimeErrorInExpression - 텍스트 상자의 값 식에 오류가 있습니다. 인수 'Length'는 0보다 커야합니다. -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)) 

노트는 또는로 변경되었습니다. 그리고 길이가 1 인 경우에만 변경됨 =0 ~ <2