web-dev-qa-db-ja.com

データとヘッダーのないサブレポートを非表示にする

レコードが選択されていない場合に非表示にするかなり単純なサブレポートがあります。問題は、このサブレポートのヘッダーセクションとフッターセクションに静的要素(テキストボックス、行など)が含まれていることです。レコードがない場合、サブレポートを含むセクション、サブレポート自体、およびサブレポート内のセクションがすべて抑制されるように設定しました。それでも、サブレポートはとにかく表示されます。データのないデータセクションは実際には抑制されていますが、ヘッダーとフッターはサブレポートを表示したままにしています。

何か案は?ああ、私はCrystal-Reports 2011を実行しています。ありがとうございます。

13
Dan Berlyoung

私はCR2008でこれに遭遇しました。これを機能させるために行った手順は次のとおりです。

  1. サブレポートに移動します(つまり、独自のデザイナーウィンドウで開いています)-> [ファイル]メニューの[レポートオプション]に移動します-> [レコードがない場合は印刷しない]を選択します
  2. 次に、メインレポートに戻ります。サブレポートを右クリック-> [サブレポートの書式設定]に移動-> [サブレポート]タブをクリック-> [空白のサブレポートを非表示]チェックボックスをオンにします。
  3. サブレポートのみがメインレポートセクションにある場合は、サブセクションを右クリックして[セクションエディター]のセクションに移動し、[空白のセクションを非表示]チェックボックスをオンにします。

編集:サブレポートがレコードを返しても、どれもdisplayedでない場合は、共有変数を使用してみてください。これを行うには、最初にサブレポートのレコードを表示するために使用しているロジックを考慮する必要があります。これは、詳細セクションの抑制式にあるロジックと同じですが、特定のサブレポートの形式に大きく依存します。

次に、サブレポートのレポートヘッダーで共有numbervarを初期化し、前述のロジックを使用して行が表示されるたびにインクリメントします。

メインレポートに戻って、その変数の値をチェックして、条件付きでサブレポートのセクションを非表示にすることができます。 CRがサブレポートの変数priorを抑制式を確認するために評価しない可能性があるため、「可能性があります」と言いますが、それを試してみてください。評価を遅らせるには、セクション抑制式でwhileprintingrecords;キーワードを使用する必要があります。幸運を!

20
Ryan

セクションにサブレポートを配置し、セクション=>セクションエキスパートを右クリックします。次に、下の図に示すように、共通タブで真の「空白セクションを省略」をオンにします。 enter image description here

0
ZahidKakar

投稿のすべてをフォローするのは難しいですが、データが相互に実行されている場合は、セクションを追加し、セクションにサブレポートを配置して、「拡大できる」がチェックされていることを確認してください。

表示する静的データがある場合は、2つのサブレポートを作成します。1つは静的データを使用し、もう1つは動的データを使用して、空白の場合は非表示にします。

0
Ira

抑制式を使用してみましたか?

右クリック書式フィールド>チェック抑制>数式の編集[x-2]ボタンをクリック

0
LYKS