我创建了一个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 绿灰博士
地球城,MO 63045
实际结果:
4349 绿灰博士
地球城,MO 63045
我会添加一个 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)
谢谢汉诺威。 我不得不稍微改变它,然后它起作用了!
=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)