2012-05-12 17 views
1

"Name"と "Surname"列のテーブルに対応する一意の行を返すStoredProcedureがあるとします。Crystal Reportsの空またはnull値に応じた条件付き印刷

私はレポートを表示する: "NameField" と "SurnameFieldは" のStoredProcedureによって返されるフィールドです

Name: NameField 
Surname: SurnameField 

「SurnameField」が空またはnullの場合、「姓:SurnameField」は表示しないことが特別な要件です。

どうすればこの問題を解決できますか? 私が考えた唯一の事は、名前が2つ、姓が1つのストアドプロシージャを2つに分割し、異なるサブレポートの各行を分割し、2番目の場合は「空の場合」(またはそのようなもの)を選択することです。本当に残酷です、私は簡単な方法があると思います。

答えて

2

これを達成するには、いくつかの方法が必要です。私はあなたのレポートがどのようにレイアウトされているかはよく分かりませんが、単純な公式を使用してフィールドとラベル、またはセクション全体(もしそれが自分のものである場合)を非表示にすることができます。あなたは、デフォルトではなく、例外として扱われるためにNULLを設定している場合isnull({table.field}) or {table.field} = ''

はそれとも、単に行うことができます。{table.field} = ''

L

+0

私はその公式がどのように使用されているのか分かりません。どのように使用するかについての参考資料はありますか?それが本当であれば、要素の「可視」フィールドを設定しますか? – pritzo

+0

あなたのクリスタル報告書はすでに作成されていますか? 'SurnameField'と' Surname: 'ラベルはそれぞれ独自のセクションを持っているのですか、それとも他のオブジェクトのセクションにありますか?セクションエキスパートでは、セクション全体を「押し出す」ための条件式を設定したり、フィールド、フォーマットを右クリックして個々のオブジェクトの条件式を設定したりすることができます –

+0

私は同じセクションにありますそれはうまくいくはずです。ご協力いただきありがとうございます! – pritzo

1

設定するフィールド> 1または<> 0(すべてを想定してより大きいすでに1です)。
これは、その領域の空白を含むレコードをフィルタリングする必要があります。

関連する問題