HomeVisual Basicクリスタルレポート 式フィールド条件式をセット

式フィールド条件式をセット

各フィールドやレコードの集計情報を表示することができます。 式フィールド条件式をセットすると、図1 のクリスタルレポートに 図2 のような列を追加することができます。

操作手順

1.クリスタルレポートのデザインから式フィールド追加
※ここでは、例として式フィールド「支給額」を作成しています。同じ手順で「性別(新)」、「所属(新)」も作成してください。
2.式フィールドの値に条件式セット

図1.
図2.

式フィールド追加

1.既存のクリスタルレポートをソリューションエクスプローラから開きます。
2.フィールドエクスプローラを表示し、式フィールドを右クリックで「新規」。
3.表示されるダイアログの名前の欄に適当な「式フィールド名(プログラム側から参照する名前)」を入力し、「エキスパートを使用」もしくは「エディタを使用」ボタンを選択。
※新しいダイアログが開くと思いますが、プログラム側から式を生成するので、何も入力しないで閉じます。



4.作成した式フィールドを右クリックで「レポートに挿入」し、クリスタルレポートの任意の箇所に挿入します。 ※この場合は各レコードの給与と手当の合計を求めたいので、「詳細」に追加します。



コード

'インポートクラス
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
'ReportDocument(.RPT)のディレクトリパス設定
Dim reportPath As String = "ファイルパス" & "ファイル名.rpt"

'ReportDocumentのオブジェクト生成
Dim RD As New ReportDocument

'レポートをロード
RD.Load(reportPath)

'レコードごとの支給額の条件式をセット
RD.DataDefinition.FormulaFields("支給額").Text = _
    "if IsNull ({社員マスタ.手当}) then {社員マスタ.給与} else {社員マスタ.給与}+{社員マスタ.手当}"

'レコードごとの性別(新)の条件式をセット
RD.DataDefinition.FormulaFields("性別(新)").Text = _
    "if {社員マスタ.性別} = 0 then ""男"" else if {社員マスタ.性別} = 1 then ""女"""

'レコードごとの所属(新)の条件式をセット
RD.DataDefinition.FormulaFields("所属(新)").Text = _
    "select {社員マスタ.所属}" & _
    " case ""0001"" : ""総務部""" & _
    " case ""0002"" : ""システム部""" & _
    " case ""0003"" : ""管理部"""

'CrystalReportViewerへReportDocumentを渡す()
CrystalReportViewer1.ReportSource = RD



ページトップへ

データベース

サーバ

Copyright (C) MadCap. All Rights Reserved.