SSRS在文本框中使用vbcrlf来连接字段需要排除空白返回行

时间:2019-05-30 15:32:43

标签: reporting-services concatenation blank-line

我创建了一个SSRS报告以按地址打印。

我正在使用vbcrlf在一个文本框中连接多个字段。

在某些情况下,串联中带有的字段之一可能为null。在这种情况下,返回的行将在我的文本框中创建一个空白行。

有没有办法删除空白行?

=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.
地球城,密苏里州63045

实际结果:

  

4349绿灰博士。
                      
地球城,密苏里州63045

2 个答案:

答案 0 :(得分:1)

我将添加一个IIF语句来检查“地址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)

答案 1 :(得分:0)

谢谢汉诺威。我必须对其稍作更改,然后它才能起作用!

=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)