7.2 書式設定のプロパティ
7.2.2 条件付き書式設定
7.2.1.7.3 セクションの非表示によるスペースの削除
セクション全体が空の場合 (たとえば、レポートのページフッタセクションに何も配置していない場合) は、書式 設定ダイアログボックスでこのセクションを非表示にすると、このページフッタが占める無駄なスペースを削除で きます。
セクションを非表示にしてスペースを削除する
1 非表示にするレポートセクションを右クリックし、[<セクション> の書式設定] をクリックします。
2 書式設定ダイアログボックスで、[非表示] を選択します。
これで、ページフッタセクションは出力されません。
説明 演算子
この条件には、指定した値を含む、または含まない項目が含まれ ます。
等しい/等しくない
この条件には、指定した値より小さい値、またはそれ以下の値の 項目が含まれます。
より小さい (<) / 以下 (≦)
この条件には、指定した値より大きい値、またはそれ以上の値の 項目が含まれます。
より大きい (>) / 以上 (≧)
この条件には、指定された項目のリスト内にある値、またはリスト内 にない値の項目が含まれます。
リスト内/リスト外
この条件には、指定した単語または文字を含む、または含まない 項目が含まれます。
で始まる値/で始まらない値 (文字列オブ ジェクトのみ)
この条件には、指定した単語または文字を含む、または含まない 項目が含まれます。
を含む/を含まない (文字列オブジェクトの み)
この条件には、その項目の値が指定した値の範囲内または範囲 外の項目が含まれます。
範囲内/範囲外
次の表に、使用可能な値とその値を適用するための手段を示します。
手順 オプション
• リストから値を選択するか、[新しいパラメータ] をクリックして [パラメータの作成] ダ イアログボックスを開き、新しいパラメータを作成します。
<値の入力>
• リストから値を選択するか、[新しいパラメータ] をクリックして [パラメータの作成] ダ イアログボックスを開き、新しいパラメータを作成します。
<値の選択>
[範囲内の値] ダイアログボックスから、次のいずれかを選択します。
• [最小値] リストをクリックし、リストから最小値のパラメータを選択するか、[新しいパラ メータ] をクリックし、新しいパラメータを作成します。
• [最大値] リストをクリックし、リストから最大値のパラメータを選択するか、[新しいパラ メータ] をクリックし、新しいパラメータを作成します。
<最小/最大の選択>
7.2.2.2 条件付きオン/オフプロパティ
条件付きオン/オフプロパティでは、条件を満たしているかどうかが評価されます。このプロパティは、指定条件 に当てはまる場合はオンになり、当てはまらない場合はオフになります。このような書式設定には、論理値を返 す式を使用します。
Crystal 構文の例
{Customer.Country} = "Canada"
7.2.2.3 条件付き属性プロパティ
条件付き属性プロパティでは、複数の条件のうちのどの条件を満たしているかが評価されます。次に、プログラ ムは、その条件に合った書式設定を適用します。たとえば、一定値以下の値を赤で出力し、その他の値は黒 で出力することにします。プログラムは、まず、値が一定値以下かどうかを評価します。値が一定値以下の場合 は、"赤"の属性が適用されます。一定値以下でない場合は、"黒"の属性が適用されます。
このような条件付き書式設定には、If-Then-Else 式を使用します。
Crystal 構文の例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then crRed
Else crBlack
条件付き属性プロパティの式を作成する場合、Crystal Reports では、式ビューの式のコメント領域に、属性の オプションが表示されます。これらの任意の属性を選択して、式に使用できます。たとえば、条件付きで背景色 を設定する場合は、使用可能な色の属性を含むオプションが表示されます。条件付きで境界線を設定する場 合は、crSingleLine、crDoubleLine、crDashedLine、crDottedLine、crNoLine などの属性を含むオプションが表 示されます。
注
Else キーワードは必ず条件式に含めてください。含まれていないと、If 条件に合致しない値が元の書式に残る 場合があります。If 条件に合致しない値を元の書式に残す場合は、Default Attribute 関数を使用します。
DefaultAttribute 関数は、[プロパティ] ダイアログボックスで設定された書式設定プロパティの値を返します。
Crystal 構文の例
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then crRed
Else
DefaultAttribute
このようなプロパティには、より詳細な指定を行うこともできます。いくつかの条件を指定し、それぞれにプロパ ティを設定できます。条件は 2 つに制限されません。たとえば、レポートに、世界各国の売上高を含む数値オ ブジェクトがある場合は、国ごとに適用する数値属性を指定できます。この場合、条件が A 国の場合は、A 国 の属性が適用されます。条件が B 国の場合は B 国の属性、C 国の場合は C 国の属性が適用されます。
複数の選択肢がある場合は、次のような式を使用します。
Crystal 構文の例
If {CUSTOMER.Country} = "Canada" Then crRed
Else If {CUSTOMER.Country} = "England" Then crBlack
Else If {CUSTOMER.Country} = "Australia" Then crGreen
7.2.2.4 条件に応じたフォントの変更
パラメータ値などの条件に基づくメモオブジェクトや文字列オブジェクトについては、そのフォント、フォントのス タイルやサイズ、色を条件付きで変更できます。
7.2.2.4.1 フォントを条件に応じて変更する
1 書式設定する要素を右クリックし、[条件付き書式設定] をクリックします。
書式設定ダイアログボックスが表示されます。
2 書式設定ダイアログボックスで、[条件の追加] をクリックします。
3 [条件] 枠で、オブジェクトリストから結果オブジェクトを選択します。
4 演算子リストから、結果オブジェクトの演算子を選択します。
5 値リストから値を選択します。
6 [書式の設定] 枠で、条件が true の場合に適用される 1 つまたは複数のフォントプロパティを選択します。
7 各フォントプロパティに値を追加します。
8 [OK] をクリックして条件を適用します。
7.2.2.5 条件に応じた余白の変更
ページ余白は、式を使用して制御できます。
ページ番号に基づいた余白
次の式は、ページ番号が偶数か奇数かをチェックし、その結果に応じて余白を設定します。ページ番号が偶 数の場合、余白は 1 インチに設定されます。ページ番号が奇数の場合、余白は 2 インチに設定されます。
If Remainder(pagenumber,2) = 0 then 1440 else 2880
ページの向きに基づいた余白
次の式は、ページの向きをチェックし、その結果に応じて余白を設定します。ページの向きが縦の場合、余白 は 1 インチに設定されます。ページの向きが横の場合、余白は 2 インチに設定されます。
If CurrentPageOrientation = crPortrait then 1440 else 2880
注
余白の単位は twip です。1 インチは 1440 twip になります。
7.2.2.5.1 余白を条件に応じて変更する
1 [ファイル] > [ページ設定]の順にクリックします。
[ページ設定] ダイアログボックスが表示されます。
2 変更する余白の隣の [条件式] ボタンをクリックします。
3 [式ワークショップ] に、余白の条件式を入力します。
4 [保存して閉じる] をクリックして[ページ設定] ダイアログボックスに戻ります。
5 [OK] をクリックします。
7.2.2.6 最初のページを除くすべてのページに表示するフッタの作成
最初のページを除くすべてのページにページフッタを出力するように指定できます。それには、オン/オフプロ パティを使用して、[ページフッタ] セクションを条件付きで書式設定します。
7.2.2.6.1 最初のページを除くすべてのページにフッタを作成する
1 レポートの [ページフッタ] セクションにページフッタとして表示するオブジェクトを配置します。
2 [ページフッタ] セクションを右クリックし、[セクションの書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
3 [非表示]を選択します。
4 [非表示] オプションの隣にある [式ワークショップ] ボタンをクリックします。
式ワークショップが表示され、新しく作成した式の名前が表示されます。
5 式ワークショップに次の式を入力します。
Crystal 構文の例
PageNumber = 1
この式は、最初のページのページフッタだけを非表示にし、それ以外のページのページフッタは表示する ように指示します。
6 [保存して閉じる]をクリックします。
7 [ページ] モードをクリックして、レポートの変更を確認します。
注
• 複数行のページフッタを、別々の [ページフッタ] セクションに行を配置して作成した場合は、上の式を使 用して、それぞれのセクションを条件付きで非表示にする必要があります。
• 最初のページを除くすべてのページに表示するページヘッダを作成するには、まず、[ページヘッダ] セク ションにヘッダ情報を配置します。次に、[ページフッタ] セクションを非表示にしたのと同じ式を使用して、
そのセクションを条件付きで非表示にします。
関連項目
• 299 ページの「式」
7.2.2.7 X 位置の条件に応じた変更
条件に応じてオブジェクトの X 位置(左余白からの水平位置)を変更できます。要素の値がある条件に一致し たときに、要素を異なる列に表示する場合、この操作を行います。たとえば、予定通りに出荷された注文は最 初の列に、遅れて出荷された注文は 2 番目の列に表示する場合などがあります。
注
線要素またはボックス要素の X 位置は条件付きでは変更できません。
7.2.2.8 要素の幅の条件付きでの変更
要素の幅は、条件に基づいて変更できます。
注
線要素またはボックス要素の幅は条件付きでは変更できません。
7.2.2.8.1 要素の幅を条件付きで変更する
1 条件付きで幅を変更する要素を右クリックし、[<要素> の書式設定] をクリックします。
[書式] ダイアログボックスが表示されます。
2 [全般] ノードを展開します。
3 幅要素の隣にある [条件式] ボタンをクリックします。
式ワークショップが表示されます。
4 [式ワークショップ] に、幅の条件式テキストを入力します。
5 [保存して終了] をクリックします。
6 書式ダイアログボックスを閉じて幅の設定を保存します。
Crystal Reports は、条件に一致した要素を新しい幅にサイズ変更しますが、条件に一致しない要素は元のサ イズで残します。
7.2.2.9 条件付きピクチャの作成
[条件付きピクチャエキスパート] ダイアログボックスを使用して、レポート上の 1 つまたは複数のピクチャに条 件を追加できます。条件付きピクチャは、レポート上の 1 つのピクチャオブジェクトに挿入されます。[条件付き ピクチャエキスパート] に追加する各ピクチャに対し、ピクチャがレポートにどのように適用されるかを決定する 条件を入力します。