Справка по выражению - PullRequest
       13

Справка по выражению

0 голосов
/ 15 декабря 2009

Я использую следующее выражение в локальном отчете для приложения WinForms, но я получаю «#Error», когда значение поля равно нулю:

=IIf(Fields!MyField.Value = "", "NULL", Left(Fields!MyField.Value, Len(Fields!MyField.Value) - 2))

Я делаю это, чтобы убрать запятую и пробел в значении. IIf () работает, Left () работает, а Len () работает ... но не тогда, когда я добавляю в часть выражения "- 2".

Я предполагал, что нулевые значения (или ZLS) не будут проблемой, так как я вытаскиваю их до того, как будет вычислена вторая половина выражения.

Есть идеи, что может быть причиной этого? Помощь очень ценится!

1 Ответ

0 голосов
/ 15 декабря 2009

Мне кажется, что вы встроены, если просматриваете только пустые строки, а затем присваиваете значение null. Нулевые значения (и строки длины 1, на самом деле) нарушат этот код.

Попробуйте использовать это:

=IIf(IsNull(Fields!MyField.Value), "NULL", 
(IIf (Len(Fields!MyField.Value) < 2, "SHORT", 
Left(Fields!MyField.Value, Len(Fields!MyField.Value) - 2)))

Я добавил разрывы строк для удобства чтения. Вы можете использовать любую строку вместо «SHORT», очевидно. Это не позволяет Len(Fields!MyField.Value) - 2 оценить отрицательное число, которое, я уверен, вызывает вашу проблему.

...