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

📄 unitsulfserchdate.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
字号:
unit UnitSulfSerchDate;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons, Db, DBTables, Grids, DBGrids,
  ComCtrls;

type
  TFrmSulfSerchDate = class(TForm)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Panel2: TPanel;
    bbSerch: TBitBtn;
    bbcancal: TBitBtn;
    bbprior: TBitBtn;
    bbnext: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DataSource2: TDataSource;
    Query2: TQuery;
    DBGrid1: TDBGrid;
    Table1: TTable;
    DataSource1: TDataSource;
    Label1: TLabel;
    bbpint: TBitBtn;
    BitBtn1: TBitBtn;
    DataSource3: TDataSource;
    Query1: TQuery;
    Table1QcNum: TIntegerField;
    Table1Wasternum: TIntegerField;
    Table1Qcper: TFloatField;
    Table1LackNum: TSmallintField;
    Table1ImpuNum: TSmallintField;
    Table1PoleNum: TSmallintField;
    Table1RipNum: TSmallintField;
    Table1ElseNum: TSmallintField;
    Table1RubbCardID: TStringField;
    Table1SourceID: TStringField;
    Label2: TLabel;
    DBGrid2: TDBGrid;
    Panel5: TPanel;
    Panel6: TPanel;
    Table1FigID: TStringField;
    Query1figid: TStringField;
    Query1SUMOFqcnum: TFloatField;
    Query1SUMOFwasternum: TFloatField;
    Query1AVERAGEOFqcper: TFloatField;
    procedure bbSerchClick(Sender: TObject);
    procedure bbpriorClick(Sender: TObject);
    procedure bbnextClick(Sender: TObject);
    procedure bbcancalClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure bbpintClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  FrmSulfSerchDate: TFrmSulfSerchDate;

implementation

uses UnitSerchDateprint, UnitSerchDatePic;

{$R *.DFM}
//=================以下是查询按钮事件==============================
procedure TFrmSulfSerchDate.bbSerchClick(Sender: TObject);
var int0,int1,int2,int3,int4,int5:integer;
    flt1:real;
begin
//===========初始化table1,清空记录==========
 with table1 do begin
  first;
  while not eof do
  delete;
  next;
 end;//with
//===========以下第一次Query2的分组SQL查询过滤============
  with query2 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select figid,rubbcardid,sourceid,sum(qcnum)as SumQcNum,sum(lacknum)as SumLackNum,sum(impunum)as SumImpuNum,sum(polenum)as SumPoleNum,sum(ripnum)as SumRipNum,sum(elsenum)as SumElseNum from SulfCard');
      sql.Add (' where tdate between :fromdate and  :todate ');
      sql.Add ('group by figid,rubbcardid,sourceid');
      parambyname('fromdate').asdate:=DateTimePicker1.date;
      parambyname('todate').asdate:=DateTimePicker2.date;
      open;
 ///==========以上第一次SQL查询结束====================
   if recordcount=0 then
      begin
        showmessage('您查找的记录不存在!');
        close;
        exit;
      end //if
      else
        showmessage('您查找成功!有'+inttostr(recordcount)+'条记录');
        label1.caption:='查询结果共有'+inttostr(recordcount)+'条记录';
 end;
//=========以下把Query2中查询过滤结果向抄写到table1中====================
query2.First;
while  not query2.eof do
 begin
  table1.append;
  table1.FieldByName('figid').asstring:=query2.fieldbyname('figid').asstring;
  table1.FieldByName('qcnum').asinteger:=query2.fieldbyname('sumqcnum').asinteger;
  table1.FieldByName('lacknum').asinteger:=query2.fieldbyname('sumlacknum').asinteger;
  table1.FieldByName('impunum').asinteger:=query2.fieldbyname('sumimpunum').asinteger;
  table1.FieldByName('ripnum').asinteger:=query2.fieldbyname('sumripnum').asinteger;
  table1.FieldByName('polenum').asinteger:=query2.fieldbyname('sumpolenum').asinteger;
  table1.FieldByName('elsenum').asinteger:=query2.fieldbyname('sumelsenum').asinteger;
  table1.FieldByName('rubbcardid').asstring:=query2.fieldbyname('rubbcardid').asstring;
  table1.FieldByName('sourceid').asstring:=query2.fieldbyname('sourceid').asstring;
   //=========以下求废品之和/合格率============
    int0:=table1.FieldByName('qcnum').asinteger;
    int1:=table1.FieldByName('lacknum').asinteger;
    int2:=table1.FieldByName('impunum').asinteger;
    int3:=table1.FieldByName('polenum').asinteger;
    int4:=table1.FieldByName('ripnum').asinteger;
    int5:=table1.FieldByName('elsenum').asinteger;
  table1.FieldByName('wasternum').asinteger:=int1+int2+int3+int4+int5;
     if int0+int1+int2+int3+int4+int5=0 then
  table1.FieldByName('qcper').asfloat:=0
  else
    flt1:=int0/(int0+int1+int2+int3+int4+int5);
    flt1:=strtofloat(formatfloat('0.000',flt1));
    flt1:=flt1*100;
  table1.FieldByName('qcper').asfloat:=flt1;
  table1.post;
  query2.next;
 end;//while
 //========以上向用户界面Table1中抄写记录完===================

 //========以下Query1为输出图表和打印查询过滤=================
 with query1 do begin
  close;
  sql.Clear;
  sql.add('select figid,sum(qcnum),sum(wasternum),avg(qcper) from sulfcardper group by figid');
  open;
  end;
//==================结束========================================
end;
procedure TFrmSulfSerchDate.bbpriorClick(Sender: TObject);
begin
 table1.Prior ;
end;

procedure TFrmSulfSerchDate.bbnextClick(Sender: TObject);
begin
 table1.Next;
end;

procedure TFrmSulfSerchDate.bbcancalClick(Sender: TObject);
begin
  close;
end;

procedure TFrmSulfSerchDate.FormActivate(Sender: TObject);
begin
table1.open;  //打开
end;

procedure TFrmSulfSerchDate.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
//========初始化,清空记录===========
 with table1 do begin
  first;
  while not eof do
  delete;
  next;
 end;//with
//=================================
end;

procedure TFrmSulfSerchDate.bbpintClick(Sender: TObject);
begin

FrmSerchDatePrint.QRLabel1.Caption :='产品从'+datetostr(DateTimePicker1.date)+'到'+datetostr(DateTimePicker2.date)+'质量统计图表';
FrmSerchDatePrint.QuickRep1.Preview ;
end;

procedure TFrmSulfSerchDate.BitBtn1Click(Sender: TObject);
begin
 frmSerchDatepic.show;
 frmSerchDatepic.DBChart1.Title.Text.Text:='产品从'+datetostr(DateTimePicker1.date)+'到'+datetostr(DateTimePicker2.date)+'质量统计图表';
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -