1

「Name」列と「Surname」列を持つテーブルに対応する一意の行を返すStoredProcedureがあるとします。

レポートに表示したい:

Name: NameField
Surname: SurnameField

ここで、「NameField」と「SurnameField」は、StoredProcedureによって返されるフィールドです。

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

どうすればこれを達成できますか?私が考えた唯一のことは、ストアドプロシージャを名前用と名前用の2つに分割し、各行を異なるサブレポートに分割し、2番目に[空の場合は削除](またはそのようなもの)を選択することです...しかし、これは本当にやり過ぎです。もっと簡単な方法があると思います。

4

3 に答える 3

2

これを達成するためのかなりの数の方法があるはずです。レポートがどのようにレイアウトされているかはよくわかりませんが、簡単な数式を使用して、フィールドとラベル、またはセクション全体(独自の場合)を非表示にすることができます。isnull({table.field}) or {table.field} = ''

または、nullを例外ではなくデフォルトとして処理するように設定している場合は、次のようにするだけです。{table.field} = ''

L

于 2012-05-12T22:56:41.870 に答える
1

フィールドを設定します> 1(すべてがすでに1より大きいと仮定します)または<> 0
これにより、その領域に空白があるレコードが除外されます。

于 2012-09-18T21:09:25.947 に答える
0

あなたはセクションエキスパートによってそれを達成することができます:

nameフィールド名がSurnameであり、テーブルがNAMEであり、surnameの値を格納するフィールドがS_NAME_VALUEであるとします。値がNULLまたはBLANKであるかどうかをチェックするフィルターを設定できます。

if {NAME.SURNAME} in ['SNAME'] and 
             {NAME.S_NAME_VALUE} =''
then 
             TRUE

サーネームフィルタリング、つまりSNAMEにはいくつかのコードがあると思います。

そうでない場合は、1つの条件を使用して、それをtrueとしてマークできます。

  if {NAME.S_NAME_VALUE} = '' then TRUE
于 2019-06-28T17:18:29.023 に答える