4D v16.3Subtotal |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Subtotal
|
Subtotal ( data {; pageBreak} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
data | フィールド |
![]() |
小計を求める数値型のフィールドまたは変数 | |||||
pageBreak | 倍長整数 |
![]() |
改ページを行うブレークレベル | |||||
戻り値 | 実数 |
![]() |
データの小計 | |||||
Subtotalは、現在または最後のブレークレベルにおけるdataの小計を返します。Subtotalは、ソートされたセレクションをPRINT SELECTIONコマンドで印刷する場合と、デザインモードでプリント...メニューから印刷を行う場合にのみ機能します。data引数のタイプは実数、整数、倍長整数のいずれかでなければなりません。フォームのブレークエリアに変数を配置し、Subtotalの結果を代入します。
警告: ブレーク処理を行ない、小計を計算するレポートを印刷する前に、BREAK LEVELとACCUMULATEコマンドを実行しなければなりません。このコマンドの最後の説明を参照してください。
Subtotalの2番目の引数 (オプション) で印刷中にページブレークを行わせることができます。pageBreakが0の場合、Subtotalは改ページを行いません。pageBreakが1の場合、Subtotalはレベル1の各ブレークに対して改ページを行います。pageBreakが2の場合、Subtotalはレベル1と2の各ブレークに対して改ページを行います。
Tip: 画面に表示された出力フォームからSubtotalを実行すると、エラーが発生し、フォームとエラーウィンドウの間で更新処理の無限ループを引き起こします。このループから抜けるには、エラーウィンドウのアボートボタンをクリックする際にAlt+Shiftキー (Windows) またはoption+shiftキー (Macintosh) を押します (何度か繰り返さなければならないかもしれません)。これによりフォームのウィンドウの更新が一時的に中断されます。エラーが再たび生成されるようにするために別のフォームを出力フォームとして選択してください。フォームを表示と印刷の両方で使用したい場合、デザインモードに移り、SubtotalをForm event=On Printing Breakという判定式の中に配置します。
以下の例は、フォームのブレークエリア (B0、B0マーカの上のエリア) のオブジェクトメソッドです。vSalary変数はブレークエリアにあります。このブレークレベルが発生すると、変数に[Employees]Salaryフィールドの小計が代入されます。ブレーク処理は事前にACCUMULATEとBREAK LEVELコマンドを使用して有効にされていなければなりません。
Case of
:(Form event=On Printing Break)
vSalary:=Subtotal([Employees]Salary)
End case
フォームのヘッダとブレークエリアを使用したフォームのデザインに関するより詳しい情報は、4D Design Referenceマニュアルを参照してください。
ブレークを使用したレポートを生成するには、BREAK LEVELとACCUMULATEコマンドを呼び出して、レポート中のブレーク処理を有効にしなければなりません。
フォームレポートを印刷する前にこれらのコマンド両方を実行しなければなりません。フォームに値を表示するためにSubtotal関数は必要です。最低でも必要なブレークの数のレベルでソートしなければなりません。
BREAK LEVELとACCUMULATEを使用する際、レポートを印刷する処理は以下のようになります:
1. 印刷するレコードを選択する
2. ORDER BYでレコードをソートする。最低でもブレークレベル数でソートします。
3. BREAK LEVELとACCUMULATEを実行します。
4. PRINT SELECTIONでレポートを印刷します。
Subtotal関数はフォームに値を表示するために必要です。
プロダクト: 4D
テーマ: 印刷
番号:
97
変更: 4D v11 SQL
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)