Обработка пустой строки в службах отчетов SQL - PullRequest
3 голосов
/ 27 августа 2009

Я хотел бы отобразить строку без последних 2 символов в текстовом поле в службах Reporting Services 2005 vs2005. Я пробовал несколько способов, и если строка пуста или пуста, я получаю сообщение об ошибке: rsRuntimeErrorInExpression - выражение значения для текстового поля содержит ошибку: аргумент 'длина' должен быть больше или равен нулю.

Вот способы, которые я попробовал: IIF (trim (Fields! Kuku.Value) = "", "", Left (Fields! Kuku.Value, Len (Fields! Kuku.Value) - 2))

IIF (IsNothing (Fields! Kuku.Value) и Len (Fields! Kuku.Value) = 0, "", Left (Fields! Kuku.Value, Len (Fields! Kuku.Value) - 2))

IIF (IsNothing (Fields! Kuku.Value), "", Left (Fields! Kuku.Value), Len (Fields! Kuku.Value) - 2))

IIF (Len (Fields! Kuku.Value) = 0, "", Left (Fields! Kuku.Value), Len (Fields! Kuku.Value) - 2))

Есть идеи, что я делаю не так? Заранее спасибо.

1 Ответ

4 голосов
/ 27 августа 2009

как насчет изменения набора данных в этом поле для использования isnull (поле ","), чтобы вы всегда могли безопасно обрезать 2 символа.

или

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

обратите внимание, что и изменены на ИЛИ . И на всякий случай длина 1 меняется =0 на <2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...