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

📄 search.~pas

📁 有关delphi的应用
💻 ~PAS
字号:
unit search;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, DB, ADODB, Menus;

type
  Tfrmsearch = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    prodorder: TCheckBox;
    SN: TCheckBox;
    PN: TCheckBox;
    FInTP: TDateTimePicker;
    TInTP: TDateTimePicker;
    prodorderCBox: TComboBox;
    SNEdit: TEdit;
    PNEdit: TEdit;
    Button1: TButton;
    opdate: TCheckBox;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    JobOrder: TCheckBox;
    JobOrderEdit: TEdit;
    ADODataSet1: TADODataSet;
    ADODataSet2: TADODataSet;
    opnumEdit: TEdit;
    opnum: TCheckBox;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    DBGrid4: TDBGrid;
    DBGrid5: TDBGrid;
    ADODataSet3: TADODataSet;
    DataSource3: TDataSource;
    ADODataSet4: TADODataSet;
    DataSource4: TDataSource;
    ADODataSet5: TADODataSet;
    DataSource5: TDataSource;
    DataSource6: TDataSource;
    ADODataSet6: TADODataSet;
    DBGrid6: TDBGrid;
    DBGrid7: TDBGrid;
    DBGrid8: TDBGrid;
    DataSource7: TDataSource;
    ADODataSet7: TADODataSet;
    DataSource8: TDataSource;
    ADODataSet8: TADODataSet;
    procedure PNClick(Sender: TObject);
    procedure SNClick(Sender: TObject);
    procedure prodorderClick(Sender: TObject);
    procedure opdateClick(Sender: TObject);
    procedure JobOrderClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure opnumClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid3CellClick(Column: TColumn);
    procedure DBGrid4CellClick(Column: TColumn);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure DBGrid6CellClick(Column: TColumn);
    procedure DBGrid7CellClick(Column: TColumn);
  private
    { Private declarations }
    str:string;
  public
    { Public declarations }
  end;

var
  frmsearch: Tfrmsearch;

implementation

uses datalink;

{$R *.dfm}

procedure Tfrmsearch.PNClick(Sender: TObject);
begin
if(PN.Tag=0)then
  begin
  PNEdit.Enabled:=true;
  PN.Tag:=1;
  end
else
  begin
  PNEdit.Enabled:=false;
  PN.Tag:=0;
  end;
end;

procedure Tfrmsearch.SNClick(Sender: TObject);
begin
if(SN.Tag=0)then
  begin
  SNEdit.Enabled:=true;
  SN.Tag:=1;
  end
else
  begin
  SNEdit.Enabled:=false;
  SN.Tag:=0;
  end;
end;

procedure Tfrmsearch.prodorderClick(Sender: TObject);
begin
if(prodorder.Tag=0)then
  begin
  prodorderCBox.Enabled:=true;
  prodorder.Tag:=1;
  end
else
  begin
  prodorderCBox.Enabled:=false;
  prodorder.Tag:=0;
  end;
end;

procedure Tfrmsearch.opdateClick(Sender: TObject);
begin
 if(opdate.Tag=0)then
  begin
  FInTP.Enabled:=true;
  TInTP.Enabled:=true;
  opdate.Tag:=1;
  end
else
  begin
  FInTP.Enabled:=false;
  TInTP.Enabled:=false;
  opdate.Tag:=0;
  end;
end;

procedure Tfrmsearch.JobOrderClick(Sender: TObject);
begin

if(JobOrder.Tag=0)then
  begin
  JobOrderEdit.Enabled:=true;
  JobOrder.Tag:=1;
  end
else
  begin
  JobOrderEdit.Enabled:=false;
  JobOrder.Tag:=0;
  end;
end;

procedure Tfrmsearch.Button1Click(Sender: TObject);
var
str1,str2,str3,str4,str5,str6:string;
begin
//todo:search
if opdate.Checked=true then
 str1:='(v.indate>='''+FormatDateTime('yyyy-mm-dd',FInTP.Date)+''')and (v.indate<='''+FormatDateTime('yyyy-mm-dd',TInTP.Date)+''')'
else
 str1:='1=1';

if prodorder.Checked=true then
 str2:='s.prodorder='''+prodorderCBox.Text+''''
else
 str2:='1=1';

if SN.Checked=true then
 str3:='v.sn='''+SNEdit.Text+''''
else
 str3:='1=1';

if JobOrder.Checked=true then
 str4:='v.JobOrder='''+JobOrderEdit.Text+''''
else
 str4:='1=1';

if PN.Checked=true then
 str5:='s.PN='''+PNEdit.Text+''''
else
 str5:='1=1';

if opnum.Checked=true then
 str6:='v.sn in (select v.sn from  device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and(s.paraname='''+'操作员'+''')and(v.testvalue='''+opnumedit.Text+'''))'
else
 str6:='1=1';

 str:='('+str1+')and('+str2+')and('+str3+')and('+str4+')and('+str5+')and('+str6+')'+'';
 try
   adodataset1.Active:=false;
   adodataset1.CommandText:='select distinct s.pn from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+' ';
   adodataset1.Active:=true;
   adodataset3.Active:=false;
   adodataset3.CommandText:='select distinct v.sn, v.joborder from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''') ';
   adodataset3.Active:=true;
   adodataset4.Active:=false;
   adodataset4.CommandText:='select distinct s.prodorder from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''') ';
   adodataset4.Active:=true;
   adodataset5.Active:=false;
   adodataset5.CommandText:='select s.paraname, v.testvalue from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''')and(s.prodorder='''+dbgrid4.Fields[0].Value+''') ';
   adodataset5.Active:=true;
   adodataset2.Active:=false;
   adodataset2.CommandText:='select distinct s.pn from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2)and'+str+' ';
   adodataset2.Active:=true;
   adodataset6.Active:=false;
   adodataset6.CommandText:='select  distinct  v.sn, v.joborder from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2)and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')  ';
   adodataset6.Active:=true;
   adodataset7.Active:=false;
   adodataset7.CommandText:='select distinct s.prodorder from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2)and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')  ';
   adodataset7.Active:=true;
   adodataset8.Active:=false;
   adodataset8.CommandText:='select s.paraname, s.temperature, s.maxvalue, s.minvalue, v.testvalue, v.status from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2) and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')and(s.prodorder='''+dbgrid7.Fields[0].Value+''') ';
   adodataset8.Active:=true;
 except
   showmessage('未找到数据');
 end;

end;

procedure Tfrmsearch.FormShow(Sender: TObject);
var str1:string;
begin
//todo:add proorder items
  str:='(1=1)';
  str1:='select distinct prodorder from device_paraset1 union select distinct prodorder from device_paraset2 ';
  prodorderCBox.Items.Clear;
  with DM do
  begin
    with adoquery2 do
    begin
      close;
      with sql do
      begin
        clear;
        add(str1);
      end;
      open;
    end;
  end;
  DM.ADOQuery2.First;
  while not DM.ADOQuery2.Eof do
  begin
    prodorderCBox.Items.Add(DM.ADOQuery2.FieldValues['prodorder']);
    DM.ADOQuery2.Next;
  end;
  prodorderCBox.ItemIndex:=0;
  adodataset1.Active:=false;
  adodataset1.Active:=true;
//  adodataset3.Active:=false;
//  adodataset3.Active:=true;
//  adodataset4.Active:=false;
//  adodataset4.Active:=true;
//  adodataset5.Active:=false;
//  adodataset5.Active:=true;

end;

procedure Tfrmsearch.opnumClick(Sender: TObject);
begin
if(opnum.Tag=0)then
  begin
  opnumEdit.Enabled:=true;
  opnum.Tag:=1;
  end
else
  begin
  opnumEdit.Enabled:=false;
  opnum.Tag:=0;
  end;
end;

procedure Tfrmsearch.DBGrid1CellClick(Column: TColumn);
begin
   adodataset3.Active:=false;
   adodataset3.CommandText:='select distinct v.sn, v.joborder from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''') ';
   adodataset3.Active:=true;
   adodataset4.Active:=false;
   adodataset4.CommandText:='select distinct s.prodorder from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''') ';
   adodataset4.Active:=true;
   adodataset5.Active:=false;
   adodataset5.CommandText:='select s.paraname, v.testvalue from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''')and(s.prodorder='''+dbgrid4.Fields[0].Value+''') ';
   adodataset5.Active:=true;

end;

procedure Tfrmsearch.DBGrid3CellClick(Column: TColumn);
begin
try
   adodataset4.Active:=false;
   adodataset4.CommandText:='select distinct s.prodorder from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''') ';
   adodataset4.Active:=true;
   adodataset5.Active:=false;
   adodataset5.CommandText:='select s.paraname, v.testvalue from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''')and(s.prodorder='''+dbgrid4.Fields[0].Value+''') ';
   adodataset5.Active:=true;

 except
   showmessage('未找到数据');
 end;
end;

procedure Tfrmsearch.DBGrid4CellClick(Column: TColumn);
begin
   adodataset5.Active:=false;
   adodataset5.CommandText:='select s.paraname, v.testvalue from device_testvalue1 v,device_paraset1 s where (s.para_id1=v.para_id1)and'+str+'and(s.pn='''+dbgrid1.Fields[0].Value+''')and(v.sn='''+dbgrid3.Fields[1].Value+''')and(v.joborder='''+dbgrid3.Fields[0].Value+''')and(s.prodorder='''+dbgrid4.Fields[0].Value+''') ';
   adodataset5.Active:=true;

end;

procedure Tfrmsearch.DBGrid2CellClick(Column: TColumn);
begin
   adodataset6.Active:=false;
   adodataset6.CommandText:='select  distinct  v.sn, v.joborder from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2)and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')  ';
   adodataset6.Active:=true;
   adodataset7.Active:=false;
   adodataset7.CommandText:='select distinct s.prodorder from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2)and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')  ';
   adodataset7.Active:=true;
   adodataset8.Active:=false;
   adodataset8.CommandText:='select s.paraname, s.temperature, s.maxvalue, s.minvalue, v.testvalue, v.status from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2) and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')and(s.prodorder='''+dbgrid7.Fields[0].Value+''') ';
   adodataset8.Active:=true;
end;

procedure Tfrmsearch.DBGrid6CellClick(Column: TColumn);
begin
try
   adodataset7.Active:=false;
   adodataset7.CommandText:='select distinct s.prodorder from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2)and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')  ';
   adodataset7.Active:=true;
   adodataset8.Active:=false;
   adodataset8.CommandText:='select s.paraname, s.temperature, s.maxvalue, s.minvalue, v.testvalue, v.status from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2) and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')and(s.prodorder='''+dbgrid7.Fields[0].Value+''') ';
   adodataset8.Active:=true;
 except
   showmessage('未找到数据');
 end;
end;

procedure Tfrmsearch.DBGrid7CellClick(Column: TColumn);
begin
   adodataset8.Active:=false;
   adodataset8.CommandText:='select s.paraname, s.temperature, s.maxvalue, s.minvalue, v.testvalue, v.status from device_testvalue2 v,device_paraset2 s where (s.para_id2=v.para_id2) and'+str+'and(s.pn='''+dbgrid2.Fields[0].Value+''')and(v.sn='''+dbgrid6.Fields[1].Value+''')and(v.joborder='''+dbgrid6.Fields[0].Value+''')and(s.prodorder='''+dbgrid7.Fields[0].Value+''') ';
   adodataset8.Active:=true;
end;

end.

⌨️ 快捷键说明

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