?? ps_db.pas
字號:
unit PS_db;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables;
type
Tcomdatabase = class(TDataModule)
comdepartment: TTable;
comperson: TTable;
comproduct: TTable;
comwarehouse: TTable;
comcustomer: TTable;
ordbillmain: TTable;
ordbillsub: TTable;
stkbillmain: TTable;
stkbillsub: TTable;
company: TDatabase;
comwareamount: TTable;
DS_ordbillmain: TDataSource;
DS_ordbillsub: TDataSource;
DS_stkbillmain: TDataSource;
DS_stkbillsub: TDataSource;
DS_comdepartment: TDataSource;
DS_comperson: TDataSource;
DS_comproduct: TDataSource;
DS_comwarehouse: TDataSource;
DS_comwareamount: TDataSource;
DS_comcustomer: TDataSource;
Q_Public: TQuery;
ordbillsubflag: TSmallintField;
ordbillsubbillno: TStringField;
ordbillsubserialno: TSmallintField;
ordbillsubprice: TFloatField;
ordbillsubmoney: TFloatField;
ordbillsubtaxrate: TFloatField;
ordbillsubtax: TFloatField;
ordbillsubmemo: TMemoField;
ordbillsubtranslated: TBooleanField;
ordbillsubamount: TFloatField;
ordbillsubproductid2: TStringField;
ordbillsubproductid: TStringField;
stkbillsubflag: TSmallintField;
stkbillsubbillno: TStringField;
stkbillsubserialno: TSmallintField;
stkbillsubproductid: TStringField;
stkbillsubamount: TFloatField;
stkbillsubprice: TFloatField;
stkbillsubmoney: TFloatField;
stkbillsubtaxrate: TFloatField;
stkbillsubtax: TFloatField;
stkbillsubcosts: TFloatField;
stkbillsubmemo: TMemoField;
stkbillsubproductid2: TStringField;
procedure ordbillsubCalcFields(DataSet: TDataSet);
procedure ordbillsubproductidChange(Sender: TField);
procedure ordbillsubAfterPost(DataSet: TDataSet);
procedure stkbillsubAfterPost(DataSet: TDataSet);
procedure stkbillsubCalcFields(DataSet: TDataSet);
procedure stkbillsubproductidChange(Sender: TField);
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
comdatabase: Tcomdatabase;
implementation
uses PS_welcome, PS_main;
{$R *.DFM}
procedure Tcomdatabase.ordbillsubCalcFields(DataSet: TDataSet);
begin
ordbillsubmoney.value:=ordbillsubprice.Value*ordbillsubamount.Value;
ordbillsubtax.Value:=ordbillsubmoney.Value*ordbillsubtaxrate.Value;
end;
procedure Tcomdatabase.ordbillsubproductidChange(Sender: TField);
begin
ordbillsubprice.Value:=comproduct.FieldValues['suggprice'];
ordbillsubtaxrate.Value:=comproduct.FieldValues['taxrate'];
end;
procedure Tcomdatabase.ordbillsubAfterPost(DataSet: TDataSet);
begin
with ordbillmain do begin
edit;
fieldvalues['totalmoney']:=0;
fieldvalues['totaltax']:=0;
end;
with ordbillsub do begin
disablecontrols;
first;
while not Eof do begin
ordbillmain.Fieldvalues['totalmoney']:=ordbillmain.fieldvalues['totalmoney']+fieldvalues['money'];
ordbillmain.fieldvalues['totaltax']:=ordbillmain.fieldvalues['totaltax']+fieldvalues['tax'];
next;
end;
enablecontrols;
end;
(* with ordbillmain do begin
post;
applyupdates;
end;*)
end;
procedure Tcomdatabase.stkbillsubAfterPost(DataSet: TDataSet);
begin
with stkbillmain do begin
edit;
fieldvalues['totalmoney']:=0;
fieldvalues['totaltax']:=0;
end;
with stkbillsub do begin
disablecontrols;
first;
while not Eof do begin
stkbillmain.Fieldvalues['totalmoney']:=stkbillmain.fieldvalues['totalmoney']+fieldvalues['money'];
stkbillmain.fieldvalues['totaltax']:=stkbillmain.fieldvalues['totaltax']+fieldvalues['tax'];
next;
end;
first;
enablecontrols;
end;
(* with stkbillmain do begin
post;
applyupdates;
end; *)
end;
procedure Tcomdatabase.stkbillsubCalcFields(DataSet: TDataSet);
begin
stkbillsubmoney.value:=stkbillsubprice.Value*stkbillsubamount.Value;
stkbillsubtax.Value:=stkbillsubmoney.Value*stkbillsubtaxrate.Value;
end;
procedure Tcomdatabase.stkbillsubproductidChange(Sender: TField);
begin
stkbillsubprice.Value:=comproduct.FieldValues['suggprice'];
stkbillsubtaxrate.Value:=comproduct.FieldValues['taxrate'];
if stkbillmain.FieldValues['flag']=2 then
stkbillsubcosts.Value:=comproduct.FieldValues['presentcost'];
end;
procedure Tcomdatabase.DataModuleCreate(Sender: TObject);
begin
try
company.Open;
application.CreateForm(tf_main,f_main);
except
f_welcome:=tf_welcome.Create(f_welcome);
f_welcome.L_text.Left:=264;
f_welcome.L_text.Caption:='← 如何使用本軟件';
f_welcome.L_text.Cursor:=crHandPoint;
f_welcome.L_text.OnClick:=f_welcome.L_textClick;
f_welcome.T_start.Enabled:=true;
f_welcome.showmodal;
end;
end;
procedure Tcomdatabase.DataModuleDestroy(Sender: TObject);
begin
company.close;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -