4D v16.3

レポートの例題

ホーム

 
4D v16.3
レポートの例題

レポートの例題  


 

 

ここでは例題を示し、フォームエディターでどのようにそのフォームを設計するのか、そして印刷をコントロールするためのメソッドを紹介します。

印刷されるレポートは以下のようになります:

この例題ではページヘッダーに日付、時刻、そしてレポートのタイトルが印刷されます。ブレークヘッダーには顧客名と、最初のブレークで提示される情報のための列タイトルが印刷されます。詳細エリアにはレコードから取得した情報が直接印刷されます。レベル2のブレークには各顧客ごとかつ製品ごとの小計が印刷されます。レベル1のブレークには各顧客ごとの小計が、レベル0のブレークにはレポートの総計が印刷されます。フッターにはページ番号が印刷されます。

レポートはブレークレベル数+1でソートします。このレポートでは顧客、製品、そして日付でソートします。

下図は先に示したレポートを作成するためのフォームをエディターで開いたものです:

フォーム中の各マーカーは、対応するエリアの底を示しています。フォーム中に配置されたオブジェクトはそれが配置されたエリアに基づいて、レポート中の適切な場所に印刷されます。ヘッダーには各ページの先頭に印刷する要素を配置します。詳細エリアには各レコード毎に繰り返し印刷される要素を配置します。

各マーカーの意味は以下の通りです:

ラベル説明効果
Hヘッダーエリア各ページの先頭に一回印刷されます
H1レベル1ヘッダーエリアレベル1ブレークの前に一回印刷されます
H2レベル2ヘッダーエリアレベル2ブレークの前に一回印刷されます
D詳細エリアセレクション中の各レコード毎に印刷されます
B2レベル2ブレークエリアレベル2ブレークの後に一回印刷されます (二番目のソートフィールドの値が変わったとき)
B1レベル1ブレークエリアレベル1ブレークの後に一回印刷されます (一番目のソートフィールドの値が変わったとき)
B0レベル0ブレークエリアレポートの最後に一回印刷されます
Fフッターエリア各ページの最後に一回印刷されます

ヘッダー、ブレーク、そしてフッターエリアに配置された入力不可オブジェクトはオブジェクトメソッドを使用して制御できます。

注: 以下のコードはオブジェクトメソッドまたはフォームメソッドでのみ利用できます。プロジェクトメソッドでは使用できません。

日付はヘッダーエリアに配置されたvDate変数のオブジェクトメソッドでシステム日付を取得します:

 vDate:=Current date

時刻はヘッダーエリアに配置されたvTime変数のオブジェクトメソッドでシステム時刻を取得します:

 vTime:=Current time

レベル2ブレークエリアの売上小計は、vSalesProdの以下のメソッドを使用して計算されます:

 vSalesProd:=Subtotal(Sales)

レベル1ブレークエリアの売上小計は、vSalesCustの以下のメソッドを使用して計算されます:

 vSalesCust:=Subtotal(Sales)

レベル0ブレークエリアの売上総計は、vSalesTotalの以下のメソッドを使用して計算されます:

 vSalesTotal:=Subtotal(Sales)

上の3つのオブジェクトメソッドは同じ計算式を使用していますが、それぞれ結果は異なります。それぞれのオブジェクトは異なるブレークエリアに配置されているため、各コードは異なるタイミングで異なるレコードグループに対して行われます。ブレークレベルについてはレポート印刷用のフォームの"ブレークレベルを使用する"を参照してください。

 vPage:="Page "+String(FORM Get current page)

FORM Get current page関数はページ番号を返します。

 
プロパティ 

プロダクト: 4D
テーマ: 一覧フォームとレポート

 
履歴 

 
ARTICLE USAGE

デザインリファレンス ( 4D v16)
デザインリファレンス ( 4D v16.1)
デザインリファレンス ( 4D v16.3)