グループのフッターにサブレポートがある Crystal Report があります。
このサブレポートには、渡されたパラメーターに基づいてカウントが表示されます。
この値を他の計算で使用したいので、共有数変数を作成しようとしました。
ただし、共有数値変数を含む数式をメイン レポート (サブレポート自体の隣) に配置すると、前のレコードの値が表示されます。
メイン レポートのスクリーンショット
(ビジネス固有の情報は削除されました)
赤い四角はサブレポート、緑の四角は印刷しようとしている変数です
サブレポートには正しい値が表示され、緑色の数式には前のレコードのサブレポートの値が表示されます。
サブレポートのスクリーンショット
レポート フッターの 1 つの数式:
サブレポートが表示する数式
この式は、式が表示されたときに変数を正しく設定すると思います(これは、私が抱えている問題の鍵かもしれません):
Shared numberVar tryit;
tryit :=0;
If IsNull(count({IDNumber})) then
(
0
)
else
(
tryit :=count({IDNumber});
count({IDNumber})
)
メイン レポートに共有変数を表示する数式
Shared NumberVar tryit;
tryit;
試行 1: サブレポートの下に変数を移動する (失敗)
Craig は、表示したい変数を、サブレポートが実行される場所の下のフッター セクションに移動することを提案しました。
これを試しました。ただし、サブレポートを表示する必要はありません。サブレポートを非表示にすると、サブレポートが実行されていないため、すべての共有変数が 0 になったように見えます。
下: 赤いボックスはサブレポート、オレンジは共有変数です。サブレポートも表示されている限り機能しますが、サブレポートは必要なく、親レポートで追加の計算を行うために共有変数が必要です。