⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 f_stosearch.pas

📁 仓库管理系统 仓库管理系统
💻 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 + -