2011-06-20 141 views
5

我有一個包含Name,Address和ZipCode字段的簡單文本框的報告。這些字段在預覽時工作正常,但是當我將它們放在如下格式的塊中時:SSRS 2008 R2回車問題

Name 
Address 
Zipcode 

我得到雙倍間隔的文本。一位朋友向我展示了一個小技巧,將所有字段放在一行上,而不是按回車鍵,我打了Shift + Return。這工作,但只爲一條線。換句話說,我得到了這個結果:

Name 
Address 

ZipCode 

Etc. 

我敢肯定這是一個微不足道的問題,有經驗的用戶可以在一秒鐘內解決。不幸的是,我沒有經歷過。那麼,有沒有人有解決這個問題?

+0

尤里卡

SELECT Postalcode + ' ' + City + ', ' + Country as pccString FROM ....

,並在文本框:

您可以在報表的SQL做到這一點!好的,這應該有助於得到答案。我實際上有三條地址線。我正在拉的示例使用這些行中的一行,以便其他兩行不被使用並顯示空字段。如果所述字段的值爲空,是否有辦法抑制字段? – 2boolORNOT2bool

回答

13

我使用這個數據集:

select 'Mr2Bool' as Name, 
'1 TrueStreet' as Address1, 
NULL as Address2, 
'NewTrueshire' as Address3, 
'1010101' as ZipCode 

,放在一個文本框下面的表達式:

= First(Fields!Name.Value, "DataSet1") & VBCRLF & 
First(Fields!Address1.Value, "DataSet1") & VBCRLF & 
IIF(First(Fields!Address2.Value, "DataSet1") Is Nothing, "", First(Fields!Address2.Value, "DataSet1") & VBCRLF) & 
IIF(First(Fields!Address3.Value, "DataSet1") Is Nothing, "", First(Fields!Address3.Value, "DataSet1") & VBCRLF) & 
First(Fields!ZipCode.Value, "DataSet1") 

這給下面的輸出:

Preview of Address rendered in Visual Studio

VBCRLF代表「Visual Basic回車換行」,並給出一個新的路線。如果一個字段爲空,則不會添加新行,因此您不會在地址中出現任何中斷。

您必須決定哪些字段可以爲空。我認爲Name,Address1和ZipCode不能爲null,但也許你設置的東西是不同的。

+0

非常好!我慢慢發現在SSRS中使用了VB,並且我沒有VB背景。我非常感謝幫助! – 2boolORNOT2bool

+0

我也在學習視覺基礎。以下網站非常有用:http://msdn.microsoft.com/en-us/library/ms157328.aspx – Fillet

1

下面是郵件標籤的一些代碼,希望以後可以幫助別人。

=IIf(IsNothing(Fields!WholeName.Value), "", Fields!WholeName.Value) & vbCRLF & 
IIf(IsNothing(Fields!Address1.Value), "", Fields!Address1.Value) & vbCRLF & 
IIf(IsNothing(Fields!Address2.Value), "", Fields!Address2.Value) & vbCRLF & 
IIf(IsNothing(Fields!City.Value), "", Fields!City.Value) & ", " & 
IIf(IsNothing(Fields!State.Value), "", Fields!State.Value) & " " & 
IIf(IsNothing(Fields!Zip.Value), "", Fields!Zip.Value) 
1

這裏有一個小的增加:報告

=First(Fields!pccString.Value).Replace(",", VbCrLf)