4D v16.3レポートの例題 |
|||||||||||||||||||||||||||||
|
4D v16.3
レポートの例題
レポートの例題
ここでは例題を示し、フォームエディターでどのようにそのフォームを設計するのか、そして印刷をコントロールするためのメソッドを紹介します。 印刷されるレポートは以下のようになります: この例題ではページヘッダーに日付、時刻、そしてレポートのタイトルが印刷されます。ブレークヘッダーには顧客名と、最初のブレークで提示される情報のための列タイトルが印刷されます。詳細エリアにはレコードから取得した情報が直接印刷されます。レベル2のブレークには各顧客ごとかつ製品ごとの小計が印刷されます。レベル1のブレークには各顧客ごとの小計が、レベル0のブレークにはレポートの総計が印刷されます。フッターにはページ番号が印刷されます。 レポートはブレークレベル数+1でソートします。このレポートでは顧客、製品、そして日付でソートします。 下図は先に示したレポートを作成するためのフォームをエディターで開いたものです: フォーム中の各マーカーは、対応するエリアの底を示しています。フォーム中に配置されたオブジェクトはそれが配置されたエリアに基づいて、レポート中の適切な場所に印刷されます。ヘッダーには各ページの先頭に印刷する要素を配置します。詳細エリアには各レコード毎に繰り返し印刷される要素を配置します。 各マーカーの意味は以下の通りです:
ヘッダー、ブレーク、そしてフッターエリアに配置された入力不可オブジェクトはオブジェクトメソッドを使用して制御できます。 注: 以下のコードはオブジェクトメソッドまたはフォームメソッドでのみ利用できます。プロジェクトメソッドでは使用できません。 日付はヘッダーエリアに配置された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) |
|||||||||||||||||||||||||||