Delphi Programming / Object Pascal
[掲載 2001年02月04日] [更新 2016年04月30日] Query 印刷コンポーネント |
Query 印刷コンポーネント
テストプログラム SubTotal |
動作確認等 |
Windows 7 U64(SP1) + Delphi XE(UP1) Pro |
小計 (グループ計) と総合計を印刷する例です.
TotalPrint プロパティを True にすると総合計を印刷します.項目ごとの小計は,項目の SumPrint を True にします. |
SELECT T2.CustNo,
T4.Company,
T3.Description,
T1.OrderNo,
T3.ListPrice,
T3.Cost,
T1.Qty,
T1.Qty*T3.Cost as Sales
FROM "Items.db" T1,
"Orders.db" T2,
"Parts.db" T3,
"Customer.db" T4
WHERE (T2.OrderNo = T1.OrderNo) AND
(T3.PartNo = T1.PartNo) AND
(T4.CustNo = T2.CustNo) AND
(T4.CustNo <= 1351)
ORDER BY T2.CustNo, T3.Description
|
図1
設計時画面
|
|
図2
印刷項目の内,グループ計の項目
- Company ごとの計を計算する設定
この項目の Grouping を True
|
|
図3
印刷項目の内,集計計算する項目
- Qty と Sales の計を計算して印刷
- これらの項目の SumPrint を True
|
- 図4
- 実行結果.最後の頁.Company ごとの計 (グループ計) と総合計の値を印刷
|
|
unit SubTotal1Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, plPrev, plQueryPrev, DB, DBTables;
type
TForm1 = class(TForm)
Query1: TQuery;
plQueryPrev1: TplQueryPrev;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
//=============================================================================
// クエリの結果を印刷
// コードはこれだけ.後はオブジェクト・インスペクタで設定
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
begin
plQueryPrev1.Title := 'Queryの印刷例';
plQueryPrev1.Preview;
end;
end.
|