📄 search.~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 + -