Я создал отчет SSRS для печати по адресу.
Я использую vbcrlf для объединения нескольких полей в одном текстовом поле.
В некоторых случаях одно из полей с конкатенацией может быть нулевым. Если это так, возвращаемая строка создает пустую строку в моем текстовом поле.
Есть ли способ убрать разрыв пустой строки?
=Fields!SOP10200_ADDRESS1.Value & vbcrlf & Fields!SOP10200_ADDRESS2.Value & vbcrlf & TRIM(Fields!SOP10200_CITY.Value) & "," & TRIM(Fields!SOP10200_STATE.Value) & " " & TRIM(Fields!SOP10200_ZIPCODE.Value)
Ожидаемые результаты:
4349 Green Ash Dr.
Earth City,MO 63045
Фактические результаты:
4349 Green Ash Dr.
Earth City,MO 63045
Я бы добавил оператор IIF, чтобы проверить поле Address 2, чтобы убедиться, что оно не является NULL или пустым. Если он пустой или нулевой, в противном случае в VBCRLF должен быть пробел.
IIF(ISNOTHING(Fields!SOP10200_ADDRESS2.Value) OR Fields!SOP10200_ADDRESS2.Value = "", "", VBCRLF)
Таким образом, ваше выражение будет
=Fields!SOP10200_ADDRESS1.Value & vbcrlf &
Fields!SOP10200_ADDRESS2.Value &
IIF(ISNOTHING(Fields!SOP10200_ADDRESS2.Value)
OR Fields!SOP10200_ADDRESS2.Value = "", "", VBCRLF) &
TRIM(Fields!SOP10200_CITY.Value) & "," &
TRIM(Fields!SOP10200_STATE.Value) & " " &
TRIM(Fields!SOP10200_ZIPCODE.Value)
Спасибо Ганновер. Пришлось немного изменить и все заработало!
=Fields!SOP10200_ADDRESS1.Value & vbcrlf &
IIF(ISNOTHING(Fields!SOP10200_ADDRESS2.Value)
OR Fields!SOP10200_ADDRESS2.Value = "",vbcrlf,"")
& TRIM(Fields!SOP10200_CITY.Value) & "," & TRIM(Fields!SOP10200_STATE.Value)
& " " & TRIM(Fields!SOP10200_ZIPCODE.Value)