2009-06-10 11 views
0

私はいくつかの契約テキストを変更することがあります。テキストに値を入力する

データベースフィールドに格納されているのは現在(非ライブシステム)です(テーブル内の他のフィールドを使用して取得する契約テキストを決定します)。ただし、このテキスト内に特定の日付(個々の契約に基づいて)を表示する必要があります。

IE(ただし、1月12日、個別契約に応じて変更):

何とか何とか何とか... 2009年1月12日に...何とか何とか何とか

が、他のすべて契約テキストでは同じです。

私はこのテキストに日付を挿入する方法を探しています。 .NETに似ています

Console.Write("Some text here {0} and some more here", "My text to inject"); 

このようなものがありますか?または、テキストを2つのフィールドに分割して連結する必要がありますか?

私はCrystal Reportsを使用してこの情報を常に表示しています。その場合、Crystalを介してデータを注入することができます。

私はCrystal Reports、SqlServer 2005、およびVB.netを使用しています。

答えて

1

"予約された文字列"( "{0}"など)を契約の一部として使用し、データベースから読み込んだ後に置換を実行できます。

この予約された文字列のオプションがない場合(たとえば、契約書に文字列が含まれている可能性がある場合)、2つのテキストフィールドに分割する必要があります。

1

上記の{0}のようなテキストマーカーを入れてみましたが、これはクリスタルレポートのコードで置き換えることができますか?

1

数式フィールドを作成し、そこにテキストを連結することができます。

データがデータベースに格納されている場合、式のテキストは次のようになります。そして、

Dim parameterValue As New CrystalDecisions.Shared.ParameterDiscreteValue 
    value.Value = yourDate 
    Dim parameter As New CrystalDecisions.Shared.ParameterField 
    parameter.ParameterFieldName = "MyParam" 
    parameter.CurrentValues.Add(value) 
    parameter.HasCurrentValue = True 
    Me.CrystalReportViewer1.ReportSource = rapport 
    Me.CrystalReportViewer1.ParameterFieldInfo.Clear() 
    Me.CrystalReportViewer1.ParameterFieldInfo.Add(parameter) 

"Some static text " & totext({yourRecord.yourDateField}, "yyyy") 

それとも、レポートを表示する前に、あなたは、それをパラメータとして提供することができます式のテキストは次のようになります。

"some static text " & {?MyParam} 
0

あなたのレポーターに接続されているデータソースがあるとしますt。 [データベースエクスプローラ]ドロップダウンリストからフィールドをドラッグして表示することができます。この方法では、レポートが実行されるたびに常に正しいテキストが表示されます。

関連する問題