📄 frm_tjcx.pas
字号:
else if combobox6.Visible then
value[2]:=combobox6.Text
else if dtp2.Visible then
value[2]:=datetostr(dtp2.DateTime);
if edit3.Visible then
value[3]:=edit3.Text
else if combobox9.Visible then
value[3]:=combobox9.Text
else if dtp3.Visible then
value[3]:=datetostr(dtp3.DateTime);
if edit4.Visible then
value[4]:=edit4.Text
else if combobox12.Visible then
value[4]:=combobox12.Text
else if dtp4.Visible then
value[4]:=datetostr(dtp4.DateTime);
if edit5.Visible then
value[5]:=edit5.Text
else if combobox15.visible then
value[5]:=combobox15.Text
else if dtp5.Visible then
value[5]:=datetostr(dtp5.DateTime);
for i:=0 to Self.ComponentCount-1 do
begin
if self.Components[i] is tgroupbox then
begin
if tgroupbox(self.Components[i]).Caption='条件关系' then
begin
if tgroupbox(self.Components[i]).Visible=true then
begin
index:=self.Components[i].Tag;
if sig[index+1]='like' then
begin
value[index+1]:='%'+value[index+1]+'%';
whestr:=whestr+field[index+1]+' like '+quotedstr(value[index+1]);
end
else if sig[index+1]='not like' then
begin
value[index+1]:='%'+value[index+1]+'%';
whestr:=whestr+field[index+1]+' not like '+quotedstr(value[index+1]);
end
else
if (sig[index+1]<>'<') or (sig[index+1]<>'>') or (sig[index+1]<>'<>') then
whestr:=whestr+field[index+1]+sig[index+1]+quotedstr(value[index+1])
else
whestr:=whestr+field[index+1]+sig[index+1]+value[index+1];
end;
end;
end;
//inc(k);
if self.Components[i] is tradiobutton then
if tradiobutton(self.Components[i]).Checked=true then
begin
j:=self.Components[i].Tag;
if j mod 2=0 then
whestr:=whestr+' and '
else
whestr:=whestr+' or ';
end;
end;
if listbox2.Count=0 then
begin
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select min(a0201) as minnum from a02');
open;
end;
sqlstr:='select * from ((((a01 left outer join a03 on a01.prescode=a03.prescode)'+
' left outer join a05 on a01.prescode=a05.prescode)'+
' left outer join a07 on a01.prescode=a07.prescode)'+
' left outer join a08 on a01.prescode=a08.prescode)'+
//' left outer join a02 on a01.prescode=a02.prescode)'+
//' left outer join a04 on a01.prescode=a04.prescode)'+
//' left outer join a06 on a01.prescode=a06.prescode)'+ //,a01.*,a03.*,a05.*,a07.*,a08.*
' where '+whestr;//+' and a02.a0201='+quotedstr(dm.ADOQuery1.fieldbyname('minnum').AsString);//'+whestr //+' and+' and a01.prescode=a02.prescode';
// ' where a02.a0201='+quotedstr(dm.ADOQuery1.fieldbyname('minnum').AsString)+' and '+whestr +' and a01.prescode=a02.prescode';
end
else
sqlstr:='select * from ((((a01 left outer join a03 on a01.prescode=a03.prescode)'+
' left outer join a05 on a01.prescode=a05.prescode)'+
' left outer join a07 on a01.prescode=a07.prescode)'+
' left outer join a08 on a01.prescode=a08.prescode)'+
//' left outer join a02 on a01.prescode=a02.prescode)'+
//' left outer join a04 on a01.prescode=a04.prescode)'+
//' left outer join a06 on a01.prescode=a06.prescode)'+ //,a01.*,a03.*,a05.*,a07.*,a08.*
' where '+whestr+' order by a01.prescode';
//showmessage(sqlstr);
memo1.lines.text:=sqlstr;
with dm.ADOQuery4 do
begin
close;
sql.Clear;
sql.Add(sqlstr);
open;
//dbgrid1.Columns[0].Field:=fieldbyname('a01.prescode');
if listbox2.Count=0 then
begin
for i:=0 to 8 do
begin
dbgrid1.Columns.Add;
if i=0 then
begin
dbgrid1.Columns[i].Field:=fieldbyname('prescode');
dbgrid1.Columns[i].Visible:=false;
end
else
begin
//showmessage(def_field[i-1]);
if (def_field[i-1]<>'a0202') and (def_field[i-1]<>'a0204') and (def_field[i-1]<>'') then
dbgrid1.Columns[i].Field:=fieldbyname(def_field[i-1]);
//showmessage(fieldbyname(def_field[i-1]).asstring);
dbgrid1.Columns[i].Title.Caption:=caption[i-1];
dbgrid1.Columns[i].Width:=50;
end;
end;
end;
if listbox2.Count<>0 then
begin
first;
for count:=0 to listbox2.Count do //用户自定义查询字段
begin
dbgrid1.Columns.Add;
if count=0 then
begin
dbgrid1.Columns[count].Field:=fieldbyname('prescode');
dbgrid1.Columns[count].Visible:=false;
end
else
begin
//index:=count-1;
postion:=pos(',',listbox4.Items[count-1]);
fieldstr:=copy(listbox4.Items[count-1],0,postion-1);
dbgrid1.Columns[count].Field:=fieldbyname(fieldstr);
dbgrid1.Columns[count].Title.Caption:=listbox2.Items[count-1];
dbgrid1.Columns[count].Width:=50;
end;
end;
end;
{ while not eof do
begin
combobox6.AddItem(fieldbyname('序号').AsString,combobox6);
next;
end;}
end;
//showmessage(sqlstr);
end;
procedure Tfrm_cx.RB1Click(Sender: TObject);
begin
combobox4.Visible:=true;
combobox4.Text:='';
loadfield(combobox4);
combobox5.Visible:=true;
combobox5.Text:='';
combobox6.Visible:=true;
combobox6.Text:='';
//loadsubfield(combobox6,1);
//edit2.Visible:=true;
groupbox6.Visible:=true;
rb3.Visible:=true;
rb4.Visible:=true;
end;
procedure tfrm_cx.showcomp(compnum:integer); //显示隐藏控件
var
i:integer;
begin
for i:=compnum to compnum+6 do
begin
if Self.Components[i] is Tcombobox then
Tcombobox(Self.Components[i]).Visible:=true
else if Self.Components[i] is Tedit then
Tedit(Self.Components[i]).Visible:=true
else if self.Components[i] is tgroupbox then
tgroupbox(self.Components[i]).Visible:=true
else if self.Components[i] is tradiobutton then
tradiobutton(self.Components[i]).Visible:=true;
end;
end;
procedure Tfrm_cx.rb2Click(Sender: TObject);
begin
combobox4.Visible:=true;
combobox4.Text:='';
loadfield(combobox4);
combobox5.Visible:=true;
combobox5.Text:='';
combobox6.Visible:=true;
combobox6.Text:='';
//loadsubfield(combobox6,1);
//edit2.Visible:=true;
groupbox6.Visible:=true;
rb3.Visible:=true;
rb4.Visible:=true;
end;
procedure Tfrm_cx.rb3Click(Sender: TObject);
begin
combobox7.Visible:=true;
combobox7.Text:='';
loadfield(combobox7);
combobox8.Visible:=true;
combobox8.Text:='';
combobox9.Visible:=true;
combobox9.Text:='';
//loadsubfield(combobox9,2);
//edit3.Visible:=true;
groupbox7.Visible:=true;
rb5.Visible:=true;
rb6.Visible:=true;
end;
procedure Tfrm_cx.rb4Click(Sender: TObject);
begin
combobox7.Visible:=true;
combobox7.Text:='';
loadfield(combobox7);
combobox8.Visible:=true;
combobox8.Text:='';
combobox9.Visible:=true;
combobox9.Text:='';
//loadsubfield(combobox9,2);
// edit3.Visible:=true;
groupbox7.Visible:=true;
rb5.Visible:=true;
rb6.Visible:=true;
end;
procedure Tfrm_cx.rb5Click(Sender: TObject);
begin
combobox10.Visible:=true;
combobox10.Text:='';
loadfield(combobox10);
combobox11.Visible:=true;
combobox11.Text:='';
combobox12.Visible:=true;
combobox12.Text:='';
//loadsubfield(combobox12,3);
//edit4.Visible:=true;
groupbox8.Visible:=true;
rb7.Visible:=true;
rb8.Visible:=true;
end;
procedure Tfrm_cx.rb6Click(Sender: TObject);
begin
combobox10.Visible:=true;
combobox10.Text:='';
loadfield(combobox10);
combobox11.Visible:=true;
combobox11.Text:='';
combobox12.Visible:=true;
combobox12.Text:='';
//loadsubfield(combobox12,3);
//edit4.Visible:=true;
groupbox8.Visible:=true;
rb7.Visible:=true;
rb8.Visible:=true;
end;
procedure Tfrm_cx.rb7Click(Sender: TObject);
begin
combobox13.Visible:=true;
combobox13.Text:='';
loadfield(combobox13);
combobox14.Visible:=true;
combobox14.Text:='';
combobox15.Visible:=true;
combobox15.Text:='';
//loadsubfield(combobox15,4);
//edit5.Visible:=true;
groupbox9.Visible:=true;
rb9.Visible:=true;
rb10.Visible:=true;
end;
procedure Tfrm_cx.rb8Click(Sender: TObject);
begin
combobox13.Visible:=true;
combobox13.Text:='';
loadfield(combobox13);
combobox14.Visible:=true;
combobox14.Text:='';
combobox15.Visible:=true;
combobox15.Text:='';
//loadsubfield(combobox15,4);
//edit5.Visible:=true;
groupbox9.Visible:=true;
rb9.Visible:=true;
rb10.Visible:=true;
end;
procedure Tfrm_cx.ComboBox1Change(Sender: TObject);
begin
unit3.ComboboxOnChange(combobox1,combobox2,edit1,combobox3,dtp1,1);
end;
procedure Tfrm_cx.ComboBox4Change(Sender: TObject);
begin
unit3.ComboboxOnChange(combobox4,combobox5,edit2,combobox6,dtp2,2);
end;
procedure Tfrm_cx.ComboBox7Change(Sender: TObject);
begin
unit3.ComboboxOnChange(combobox7,combobox8,edit3,combobox9,dtp3,3);
end;
procedure Tfrm_cx.ComboBox10Change(Sender: TObject);
begin
unit3.ComboboxOnChange(combobox10,combobox11,edit4,combobox12,dtp4,4);
end;
procedure Tfrm_cx.ComboBox13Change(Sender: TObject);
begin
unit3.ComboboxOnChange(combobox13,combobox14,edit5,combobox15,dtp5,5);
end;
procedure Tfrm_cx.ComboBox2Change(Sender: TObject);
begin
//sig[1]:=combobox2.Text;
sig[1]:=unit3.sig(combobox2);
if sig[1]='between' then
begin
//编辑框可现
starttime:=edit1.Text;
//endtime:=;
end;
end;
procedure Tfrm_cx.ComboBox5Change(Sender: TObject);
begin
sig[2]:=unit3.sig(combobox5);
//showmessage(sig[2]);
end;
procedure Tfrm_cx.ComboBox8Change(Sender: TObject);
begin
sig[3]:=unit3.sig(combobox8);
end;
procedure Tfrm_cx.ComboBox11Change(Sender: TObject);
begin
//sig[4]:=combobox11.Text;
sig[4]:=unit3.sig(combobox11);
end;
procedure Tfrm_cx.ComboBox14Change(Sender: TObject);
begin
//sig[5]:=combobox14.Text;
sig[5]:=unit3.sig(combobox14);
end;
procedure tfrm_cx.loadfield(comp:tcomponent);
begin
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select distinct lab_name,field from field_info where CX_field order by field');
open;
first;
while not eof do
begin
(comp as tcombobox).AddItem(fieldbyname('lab_name').AsString,(comp as tcombobox));
next;
end;
end;
end;
{procedure tform11.loadsubfield(comp:tcomponent;index:integer);
begin
with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select code from code where field_name='+quotedstr(field[index]));
open;
first;
while not eof do
begin
(comp as tcombobox).AddItem(fieldbyname('code').AsString,(comp as tcombobox));
next;
end;
end;
end; }
procedure Tfrm_cx.Button5Click(Sender: TObject);
var
i,count:integer;
begin
count:=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -