BREAK LEVEL
BREAK LEVEL ( level {; pageBreak} )
引数 | 型 | 説明 | |
---|---|---|---|
level | Integer | → | ブレークレベルの数 |
pageBreak | Integer | → | 改ページを行うブレークレベル |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
BREAK LEVELは、PRINT SELECTIONコマンドを使ってプリントするレポートのブレークの数を指定します。
ブレーク処理を行うレポートを印刷する前に、BREAK LEVELコマンドとACCUMULATEコマンドを実行しなければなりません。これらのコマンドはレポートに対するブレーク処理を有効にします。Subtotalコマンドの説明を参照してください。
level引数は、ブレーク処理を実行するもっとも深いレベルです。少なくとも同数のレベルでレコードをソートしなければなりません。ブレークレベルよりも多いレベルでソートすると、これらのレベルはソートされたものとして印刷されますが、ブレークに対しての意味は持ちません。
生成される各ブレークレベルは、フォーム中の対応するブレークエリアやヘッダエリアを印刷します。フォーム中のブレークエリアは、最低でもlevelの数だけ存在しなければなりません。フォーム中により多くのブレークエリアがある場合、それらは無視され、印刷されません。
2番目のオプションの引数pageBreakは、印刷中にページブレークを発生させるために使用します。
例題
以下の例は、2つのブレークレベルを持つレポートを印刷します。このセレクションは4つのレベルに対してソートされますが、BREAK LEVELコマンドは2つのレベルだけにブレークを指定します。一つのフィールドはACCUMULATEコマンドで累計しています:
ORDER BY([Emp]Dept;>;[Emp]Title;>;[Emp]Last;>;[Emp]First;>) // 4つのレベルでソート
BREAK LEVEL(2) // 2つのレベルに対してブレーク処理を有効に(Dept とTitle)
ACCUMULATE([Emp]Salary) // 給与の累計
FORM SET OUTPUT([Emp];"Dept salary") // レポート用のフォームを選択
PRINT SELECTION([Emp]) // レポートを印刷する