4D v16.3

Subtotal

ホーム

 
4D v16.3
Subtotal

Subtotal 


 

Subtotal ( data {; pageBreak} ) -> 戻り値 
引数   説明
data  フィールド in 小計を求める数値型のフィールドまたは変数
pageBreak  倍長整数 in 改ページを行うブレークレベル
戻り値  実数 in データの小計

説明   

Subtotalは、現在または最後のブレークレベルにおけるdataの小計を返します。Subtotalは、ソートされたセレクションをPRINT SELECTIONコマンドで印刷する場合と、デザインモードでプリント...メニューから印刷を行う場合にのみ機能します。data引数のタイプは実数、整数、倍長整数のいずれかでなければなりません。フォームのブレークエリアに変数を配置し、Subtotalの結果を代入します。

警告: ブレーク処理を行ない、小計を計算するレポートを印刷する前に、BREAK LEVELACCUMULATEコマンドを実行しなければなりません。このコマンドの最後の説明を参照してください。

Subtotalの2番目の引数 (オプション) で印刷中にページブレークを行わせることができます。pageBreakが0の場合、Subtotalは改ページを行いません。pageBreakが1の場合、Subtotalはレベル1の各ブレークに対して改ページを行います。pageBreakが2の場合、Subtotalはレベル1と2の各ブレークに対して改ページを行います。

Tip: 画面に表示された出力フォームからSubtotalを実行すると、エラーが発生し、フォームとエラーウィンドウの間で更新処理の無限ループを引き起こします。このループから抜けるには、エラーウィンドウのアボートボタンをクリックする際にAlt+Shiftキー (Windows) またはoption+shiftキー (Macintosh) を押します (何度か繰り返さなければならないかもしれません)。これによりフォームのウィンドウの更新が一時的に中断されます。エラーが再たび生成されるようにするために別のフォームを出力フォームとして選択してください。フォームを表示と印刷の両方で使用したい場合、デザインモードに移り、SubtotalForm event=On Printing Breakという判定式の中に配置します。

例題  

以下の例は、フォームのブレークエリア (B0、B0マーカの上のエリア) のオブジェクトメソッドです。vSalary変数はブレークエリアにあります。このブレークレベルが発生すると、変数に[Employees]Salaryフィールドの小計が代入されます。ブレーク処理は事前にACCUMULATEBREAK LEVELコマンドを使用して有効にされていなければなりません。

 Case of
    :(Form event=On Printing Break)
       vSalary:=Subtotal([Employees]Salary)
 End case

フォームのヘッダとブレークエリアを使用したフォームのデザインに関するより詳しい情報は、4D Design Referenceマニュアルを参照してください。

ブレークを使用したレポートを生成するには、BREAK LEVELACCUMULATEコマンドを呼び出して、レポート中のブレーク処理を有効にしなければなりません。

フォームレポートを印刷する前にこれらのコマンド両方を実行しなければなりません。フォームに値を表示するためにSubtotal関数は必要です。最低でも必要なブレークの数のレベルでソートしなければなりません。

BREAK LEVELACCUMULATEを使用する際、レポートを印刷する処理は以下のようになります:
1. 印刷するレコードを選択する
2. ORDER BYでレコードをソートする。最低でもブレークレベル数でソートします。
3. BREAK LEVELACCUMULATEを実行します。
4. PRINT SELECTIONでレポートを印刷します。

Subtotal関数はフォームに値を表示するために必要です。



参照 

ACCUMULATE
BREAK LEVEL
Level
PRINT SELECTION

 
プロパティ 

プロダクト: 4D
テーマ: 印刷
番号: 97

サーバでは使用できません。

 
履歴 

変更: 4D v11 SQL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)