- PR -

CrystalReportsで同じセクション上で集計値を表示したい

1
投稿者投稿内容
りんご
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 51
投稿日時: 2007-06-13 14:00
こんにちは。CrystalReportsXIを使用して帳票を作成しています。

帳票は項目別の集計を行うサブレポートを詳細セクションに2つ並べています。
Shared変数を使用してサブレポートの小計を格納しています。
そのサブレポートの「右隣」にサブレポート同士の小計の合計を
表示させたいのですが、格納された変数を式フィールド(Aとします)で
表示させても「0」としか表示されません。
尚、式フィールド(A)をページヘッダに配置すると、小計同士の合計が
表示されています。

また、サブレポートの位置をページヘッダに配置すると、
その「右隣」に配置した(A)には0としか表示されず、
詳細セクションまたはページヘッダに配置した(A)だけに
値が入っています。

仕様上、どうしてもサブレポートの「右隣」に
サブレポ小計の合計値を表示させなければならない配置なのですが、
そもそも同じセクション内部で、計算を行い、合計させた結果を表示すること事態が
ムリなのでしょうか?

また、データベースフィールドの値を集計させて表示することは当然できますが、
それではサブレポートを配置する意味がないので(サブレポートを開発者で
使いまわすため)、あくまでも「サブレポートの小計」を
同セクション上で取得したいのです。

同じセクションにサブレポートからの集計の値を表示することが
できる方法、もしくはヒントでもあればご教授のほど
お願いいたします。

開発環境:CrystalReportsXI、VB.NET、WindowsXP、Firebird

コード:
EvaluateAfter ({@A小計金額−変数});
EvaluateAfter ({@B小計金額−変数});

({@A小計金額−変数}) + ({@B小計金額−変数})


じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-06-13 14:30
状況をうまく把握できていないかもしれませんが、WhilePrintingRecords を使っていないからこそ発生する罠でしょうか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
りんご
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 51
投稿日時: 2007-06-15 09:04
じゃんぬねっと様、ご返信ありがとうございます。

引用:
状況をうまく把握できていないかもしれませんが、WhilePrintingRecords を使っていないからこそ発生する罠でしょうか。



小計を計算するサブレポートでWhilePrintingRecordsを使って、いたのですけどね・・

コード:
WhilePrintingRecords;
Shared NumberVar y;
y := {@小計−金額}



小計の計算を行うサブレポートを、
詳細セクション同士に並べても、小計の合計はできず、
ページヘッダ同士に並べても、小計の合計はできずに、
ページフッタだけに小計の合計が正確に出ます。
(共に小計の合計はプライマリ内部)

仕方ないので、小計を計算する場所はプライマリはあきらめて、、
サブレポートとして作成して、計算結果が出せましたので、
(サブレポートばっかり並べてるため)処理時間はかかりますが、
この方法で続行してみます。

ご返答ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)