私はCR2008でこれに遭遇しました。これを機能させるために私が行った手順は次のとおりです。
- サブレポートに移動します(つまり、独自のデザイナーウィンドウで開くことを意味します)->「ファイル」メニューの「レポートオプション」に移動します->「レコードがない場合は印刷を抑制」を選択します
- メインレポートに戻ります。サブレポートを右クリック -> [サブレポートの書式設定] に移動 -> [サブレポート] タブをクリック -> [空白のサブレポートを非表示にする] チェックボックスをオンにします。
- サブレポートがメイン レポート セクションの唯一のものである場合は、[セクション エディター] でそのセクションを右クリックして移動し、[空白セクションを非表示にする] チェックボックスをオンにします。
編集: サブレポートがレコードを返すが、何も表示されないだけの場合は、共有変数を使用してみてください。これを行うには、最初にサブレポートにレコードを表示するために使用しているロジックを考慮する必要があります。これは、詳細セクションの抑制式にあるロジックである可能性がありますが、特定のサブレポートの形式に大きく依存します。
ここで、サブレポートのレポート ヘッダーで共有 numbervar を初期化し、前述のロジックを使用して行が表示されるたびにそれをインクリメントします。
メイン レポートに戻ると、その変数の値を確認して、サブレポートのセクションを条件付きで非表示にすることができる場合があります。CR は抑制式を見る前にサブレポートの変数を評価しない可能性があるため、「可能性があります」と言いますが、それを試してみてください。whileprintingrecords;
セクション抑制式でキーワードを使用して、その評価を遅らせることができます。幸運を!