📄 f_xsfx.pas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -