f_xsfx.pas
来自「仓库管理系统 仓库管理系统」· PAS 代码 · 共 175 行
PAS
175 行
unit f_xsfx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBTables, Mask,
DBCtrls, ADODB, TeEngine, Series, TeeProcs, Chart, DbChart, MXTABLES,
Mxstore, MXDB, MXGRAPH, DBGridEh;
type
Tdfmxsfx = class(TForm)
StatusBar1: TStatusBar;
Panel2: TPanel;
quitbtn: TBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
ADOQuery1: TADOQuery;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
DataSource1: TDataSource;
ADOQuery2: TADOQuery;
Label4: TLabel;
Label5: TLabel;
DBChart1: TDBChart;
Series1: TPieSeries;
DataSource2: TDataSource;
TabSheet3: TTabSheet;
DBChart2: TDBChart;
Series2: TLineSeries;
ADOQuery3: TADOQuery;
DataSource3: TDataSource;
ADOQuery1bmh: TWideStringField;
ADOQuery1clabel: TWideStringField;
ADOQuery1flh: TWideStringField;
ADOQuery1esl: TFloatField;
ADOQuery1esjje: TFloatField;
ComboBox2: TComboBox;
ComboBox1: TComboBox;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
DBGridEh1: TDBGridEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure quitbtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1Exit(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure DBGridEh1TitleClick(Column: TColumnEh);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dfmxsfx: Tdfmxsfx;
implementation
uses dbmRainbowMis, chHeadUnit;
{$R *.DFM}
procedure Tdfmxsfx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adotable1.close;
adotable2.close;
action:=cafree;
end;
procedure Tdfmxsfx.quitbtnClick(Sender: TObject);
var
fstr:String;
fstr2,fstr3:string;
begin
fstr:='SELECT t_saledet.bmh, t_saledet.clabel, t_ware.flh,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
+' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh like ''%s'' AND (t_saledet.clabel) like ''%s'' and (t_ware.flh) like ''%s'' AND ([t_saledet.rq])>=#%s# and ([t_saledet.rq])<=#%s#'
+' group by t_saledet.bmh, t_ware.flh, t_saledet.clabel';
with ADOQuery1 do
begin
close;
sql.Clear ;
sql.Add(Format(fstr,[chHeadUnit.getbmh(ComboBox1.text)+'%',trim(ComboBox2.text)+'%',trim(edit1.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
Prepared;
open;
end;
fstr2:='SELECT t_ware.flh,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
+' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh like ''%s'' AND (t_saledet.clabel) like ''%s'' AND ([t_saledet.rq])>=#%s# and ([t_saledet.rq])<=#%s#'
+' group by t_ware.flh';
with ADOQuery2 do
begin
close;
sql.Clear ;
sql.Add(Format(fstr2,[chHeadUnit.getbmh(ComboBox1.text)+'%',trim(ComboBox2.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
Prepared;
open;
end;
fstr3:='SELECT t_saledet.rq,sum(t_saledet.sl) as esl, sum(t_saledet.sjje) as esjje FROM t_saledet,t_ware'
+' WHERE t_saledet.clabel=t_ware.clabel and t_saledet.spbh=t_ware.spbh and t_saledet.bmh like ''%s'' AND (t_saledet.clabel) like ''%s'' AND ([t_saledet.rq])>=#%s# and ([t_saledet.rq])<=#%s#'
+' group by t_saledet.rq';
with ADOQuery3 do
begin
close;
sql.Clear ;
sql.Add(Format(fstr3,[chHeadUnit.getbmh(ComboBox1.text)+'%',trim(ComboBox2.text)+'%',datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
Prepared;
open;
end;
end;
procedure Tdfmxsfx.FormCreate(Sender: TObject);
begin
adotable1.Open;
adotable2.Open;
DateTimePicker1.Date:=date();
DateTimePicker2.Date:=date();
chHeadUnit.combolist(combobox1,adotable1,'bmh','bmmc',2);
chHeadUnit.combolist(combobox2,adotable2,'clabel','cfactory',1);
combobox1.Text:=dmRainbowMIS.atbldefault['cbmh'];
combobox2.Text:=dmRainbowMIS.atbldefault['clabel'];
end;
procedure Tdfmxsfx.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
ARect: Trect;
temp: integer;
begin
inherited;
ARect := Rect;
temp := (sender as Tdbgrid).datasource.dataset.recno;
with (sender as Tdbgrid) do
if (DataCol = 0) then
DrawText(Canvas.Handle, PChar(inttostr(temp)), Length(inttostr(temp)), ARect, DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX)
end;
procedure Tdfmxsfx.DBGrid1Exit(Sender: TObject);
begin
i:=1;
end;
procedure Tdfmxsfx.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
ARect: Trect;
temp: integer;
begin
inherited;
ARect := Rect;
temp := (sender as TDBGridEh).datasource.dataset.recno;
with (sender as TDBGridEh) do
if (DataCol = 0) then
DrawText(Canvas.Handle, PChar(inttostr(temp)), Length(inttostr(temp)), ARect, DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX)
end;
procedure Tdfmxsfx.DBGridEh1TitleClick(Column: TColumnEh);
begin
chHeadUnit.ehtitclick(column);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?