2011-12-27 8 views
2

私は、nvarchar(max)フィールドを持つSQL08-R2データベースに小さな20行テーブルを持っています。私はRDLファイルを作成するいくつかの理由SSRS 2008 - 断続的に動作する「キャリッジリターン」

Sample text

とレポートサービス内の「テーブル」に、この特定のフィールドをドロップします。このフィールドの中で、私は様々なCR/LFの(下の画像を参照)を使用してテキストを書かれていますCRF/LFの表示が正しく表示されないことがあります。私は数時間のうちに何も答えずに検索してトラブルシューティングを行っています...

すべてのテキストが表示されていますが、行区切りは一部の行では動作しますが、他の行では動作しません。

どのように正しく改行するための改行方法を考えていますか?

答えて

5

ご回答をありがとうのコーリーに...:

=Replace(Fields!Header01.Value, Chr(13) ,Chr(10)) 
1

これが機能するかどうかはわかりませんが、テーブルのセルを置き換えて、改行やキャリッジリターンのそれぞれを置き換える式にnvarchar(max)フィールドをダンプすることができます。CHAR(10) & CHAR(13) 。それとも、それを他の方法で回避を実行する必要があります。vbCrvbLfCHAR(13)CHAR(10)を置き換える:

=Replace(Fields!YourField.Value, VbCrLf, CHAR(10) & CHAR(13)) 

か:

=Replace(Replace(Fields!YourField.Value, CHAR(10), VbLf), CHAR(13), VbCr) 

を私はより良い働く覚えていないことができますが、私はしましたいくつかのユーザー入力を浄化するのを助けるためにこれを前にしなければならなかった。この動作は、データベース内のデータのソースのためにのみ、「断続的」になる可能性があります。さまざまなオペレーティングシステムのさまざまなアプリケーションからコピーして貼り付けている場合は、改行と改行が異なるように見えたり、存在しない場合があります。それが最終的に働いたものに近かった