【问题标题】:SSRS using vbcrlf in TextBox to Concatenate field need exclude blank return lineSSRS 在 TextBox 中使用 vbcrlf 来连接字段需要排除空白返回行
【发布时间】:2019-05-30 15:32:43
【问题描述】:
我创建了一个 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
【问题讨论】:
标签:
reporting-services
concatenation
blank-line
【解决方案1】:
我会添加一个 IIF 语句来检查地址 2 字段以确保它不是 NULL 或空白。如果它是空白或 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)
【解决方案2】:
谢谢汉诺威。我不得不稍微改变它,然后它就起作用了!
=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)