📄 f_stosearch.pas
字号:
unit f_stosearch;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons,
DBCtrls, Mask, DBGridEh, ppVar, ppPrnabl, ppClass, ppCtrls, ppDB,
ppBands, ppCache, ppProd, ppReport, ppComm, ppRelatv, ppDBPipe;
type
Tdfmstosearch = class(TForm)
StatusBar1: TStatusBar;
Panel1: TPanel;
DataSource2: TDataSource;
Atblbranch: TADOTable;
ATblspec: TADOTable;
DataSource3: TDataSource;
DataSource4: TDataSource;
AQryware: TADOQuery;
DataSource5: TDataSource;
aqrystore: TADOQuery;
Panel2: TPanel;
postbtn: TBitBtn;
Label3: TLabel;
Label2: TLabel;
Label6: TLabel;
MaskEdit3: TMaskEdit;
DBGridEh1: TDBGridEh;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
atbllabel: TADOTable;
MaskEdit1: TMaskEdit;
UpDown1: TUpDown;
Label1: TLabel;
BitBtn1: TBitBtn;
ppDBPipeline1: TppDBPipeline;
ppReport1: TppReport;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
ppFooterBand1: TppFooterBand;
ppLabel1: TppLabel;
ppSystemVariable1: TppSystemVariable;
ppGroup1: TppGroup;
ppGroupHeaderBand1: TppGroupHeaderBand;
ppGroupFooterBand1: TppGroupFooterBand;
ppLabel2: TppLabel;
ppDBText1: TppDBText;
ppDBText3: TppDBText;
ppDBText4: TppDBText;
ppGroup2: TppGroup;
ppGroupHeaderBand2: TppGroupHeaderBand;
ppGroupFooterBand2: TppGroupFooterBand;
ppLabel3: TppLabel;
ppDBText5: TppDBText;
ppLabel4: TppLabel;
ppLabel5: TppLabel;
ppDBCalc1: TppDBCalc;
ppLabel6: TppLabel;
ppLabel7: TppLabel;
ppDBCalc2: TppDBCalc;
ppSummaryBand1: TppSummaryBand;
ppLabel8: TppLabel;
ppDBCalc3: TppDBCalc;
CheckBox1: TCheckBox;
aqrystorebmh: TWideStringField;
aqrystoreclabel: TWideStringField;
aqrystorespbh: TWideStringField;
aqrystoredqsl: TFloatField;
aqrystorecname: TWideStringField;
aqrystorekcje: TBCDField;
ppDBText2: TppDBText;
ppLabel9: TppLabel;
ppDBCalc4: TppDBCalc;
ppDBCalc5: TppDBCalc;
ppDBCalc6: TppDBCalc;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure postbtnClick(Sender: TObject);
procedure qry10;
procedure qryzero;
procedure ComboBox2Enter(Sender: TObject);
procedure ComboBox1Enter(Sender: TObject);
procedure DBGridEh1TitleClick(Column: TColumnEh);
procedure BitBtn1Click(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dfmstosearch: Tdfmstosearch;
implementation
uses dbmRainbowMis, chHeadUnit;
{$R *.dfm}
procedure Tdfmstosearch.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Atblbranch.Active := false;
ATblspec.Active := false;
atbllabel.Active := false;
action:=cafree;
end;
procedure Tdfmstosearch.FormCreate(Sender: TObject);
begin
Atblbranch.Active := true;
ATblspec.Active := true;
atbllabel.Active := true;
combobox2.Text:=dmRainbowMIS.atbldefault['cbmh'];
combobox1.Text:=dmRainbowMIS.atbldefault['clabel'];
end;
procedure Tdfmstosearch.FormKeyPress(Sender: TObject; var Key: Char);
begin
chHeadUnit.tabventer(dfmstosearch,key);
end;
procedure Tdfmstosearch.postbtnClick(Sender: TObject);
begin
if CheckBox1.Checked = false then
qry10
else
qryzero;
end;
procedure Tdfmstosearch.qry10;
var
fss:string;
begin
{ fss:='SELECT [t_store].[bmh], [t_store].[clabel], left(t_store.spbh,%d) as spbh, sum(t_store.dqsl)as dqsl FROM t_store'
+' where [t_store].[bmh] like ''%s'' and[t_store].[clabel] like ''%s'' and [t_store].[spbh] like ''%s'' and t_store.dqsl>0'
+' group by t_store.bmh, t_store.clabel, left(t_store.spbh,%d)';}
fss:='SELECT t_store.bmh, t_store.clabel, Left(t_store.spbh,%d) AS spbh, Sum(t_store.dqsl) AS dqsl, t_spec.cname, (t_store.dqsl*t_ware.lsj) AS kcje'
+' FROM t_store INNER JOIN (t_spec INNER JOIN t_ware ON (t_spec.cstyle = t_ware.flh) AND (t_spec.clabel = t_ware.clabel)) ON (t_store.spbh = t_ware.spbh) AND (t_store.clabel = t_ware.clabel)'
+' where [t_store].[bmh] like ''%s'' and[t_store].[clabel] like ''%s'' and [t_store].[spbh] like ''%s'' and t_store.dqsl>0'
+' GROUP BY t_store.bmh, t_store.clabel, left(t_store.spbh,%d), t_spec.cname, (t_store.dqsl*t_ware.lsj)';
with aqrystore do
begin
close;
sql.Clear ;
sql.Add(Format(fss,[strtoint(trim(MaskEdit1.text)),trim(combobox2.text)+'%',trim(combobox1.text)+'%',trim(MaskEdit3.text)+'%',strtoint(MaskEdit1.text)]));
Prepared;
open;
end;
end;
procedure Tdfmstosearch.ComboBox2Enter(Sender: TObject);
begin
chHeadUnit.combolist(combobox2,Atblbranch,'bmh','bmmc',1);
end;
procedure Tdfmstosearch.ComboBox1Enter(Sender: TObject);
begin
chHeadUnit.combolist(combobox1,atbllabel,'clabel','cfactory',1);
end;
procedure Tdfmstosearch.DBGridEh1TitleClick(Column: TColumnEh);
begin
chHeadUnit.ehtitclick(column);
end;
procedure Tdfmstosearch.BitBtn1Click(Sender: TObject);
begin
aqrystore.Sort := 'bmh'+' ASC';
ppReport1.Print;
end;
procedure Tdfmstosearch.qryzero;
var
fss:string;
begin
fss:='SELECT t_store.bmh, t_store.clabel, Left(t_store.spbh,%d) AS spbh, Sum(t_store.dqsl) AS dqsl, t_spec.cname, (t_store.dqsl*t_ware.lsj) AS kcje'
+' FROM t_store INNER JOIN (t_spec INNER JOIN t_ware ON (t_spec.cstyle = t_ware.flh) AND (t_spec.clabel = t_ware.clabel)) ON (t_store.spbh = t_ware.spbh) AND (t_store.clabel = t_ware.clabel)'
+' where [t_store].[bmh] like ''%s'' and[t_store].[clabel] like ''%s'' and [t_store].[spbh] like ''%s'''
+' GROUP BY t_store.bmh, t_store.clabel, left(t_store.spbh,%d), t_spec.cname, (t_store.dqsl*t_ware.lsj)';
with aqrystore do
begin
close;
sql.Clear ;
sql.Add(Format(fss,[strtoint(trim(MaskEdit1.text)),trim(combobox2.text)+'%',trim(combobox1.text)+'%',trim(MaskEdit3.text)+'%',strtoint(MaskEdit1.text)]));
Prepared;
open;
end;
end;
procedure Tdfmstosearch.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
holdColor: TColor;
begin
holdColor := DBGridEh1.Canvas.Brush.Color; {store the original color}
if aqrystore.FieldByName('dqsl').Asinteger>=0 then begin
end
else
begin
DBGridEh1.Canvas.Brush.Color := clred;
DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DBGridEh1.Canvas.Brush.Color := holdColor;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -