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

📄 frm_tjcx.pas

📁 用于家庭养殖的财务进出
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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 + -