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

📄 visitold.pas

📁 主要是介绍DELPHI三层应用以及分布式数据库的应用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
procedure Tfrm_visitold.btn_cancelClick(Sender: TObject);
begin
        qvisitold.Cancel ;

        lockedit;

        enablebtn;
        btn_cancel.Enabled :=false;
        btn_save.Enabled :=false;

end;


procedure Tfrm_visitold.btn_deleteClick(Sender: TObject);
begin
if qvisitold.RecordCount <>0 then

    else
    begin
        showmessage('没有记录可以删除!');
        exit;
    end;


     qvisitold.Delete;
     qvisitold.ApplyUpdates ;
     lockedit;

     enablebtn;
     btn_cancel.Enabled :=false;
     btn_save.Enabled :=false;

end;
//***************以上是按纽操作。*********************

procedure Tfrm_visitold.qvisitoldAfterScroll(DataSet: TDataSet);
begin
    with qmachine do begin
    if active then close;
    unprepare;
    parambyname('khh').AsString:=qvisitold.fieldbyname('客户号').asstring;
    prepare;
    open;
  end;

end;

procedure Tfrm_visitold.FormCreate(Sender: TObject);
begin
    lockedit;
    enablebtn;
  //通过quse读出客户号列表
  with quse do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 客户名称 from pub_z_client');
    prepare;
    open;

    while not eof do begin
//      DBComboBox1.Items.Add(fieldbyname('客户号').AsString);
      DBComboBox5.Items.Add(fieldbyname('客户名称').AsString);
      next;
    end;
  end;

    with qvisitold do begin
    open;
    first;
    if not qmachine.Active then qmachine.Open ;
    end;
end;

procedure Tfrm_visitold.btn_brsClick(Sender: TObject);
begin
    DBGrid1.DataSource :=dsvisitold;
    qvisitold.filtered:=false;
end;

procedure Tfrm_visitold.btn_clrClick(Sender: TObject);
begin
      cbcstmname.Text :='';
      cbbsc.Text :='';
      cbyear.Text :='';
      cbmonth.Text :='';
end;

procedure Tfrm_visitold.btn_qryClick(Sender: TObject);
var
  qitem,q1,q2,q3,q4,q5,q6:string;
begin

  q1 :=cbbsc.Text;
  q2 :=cbcstmname.Text;
  q3 :=cbyear.Text;
  q4 :=cbmonth.Text;
  q5 :=province.Text;
  q6 :=city.Text;

  if (q1='') and (q2='') and (q3='') and (q4='') and (q5='') and (q6='')
  then  application.MessageBox('您还没有设置查询条件呢!','提示',MB_OK)
  else  begin

    if not(cbbsc.Text='') then
      begin
      q1:=cbbsc.Text;
      q1:=' 所属办事处='''+q1+''' ';
      end
    else
      q1:='';
    if not(cbcstmname.Text='') then
      begin
      q2:=cbcstmname.Text;
      q2:=' 客户名称='''+q2+''' ';
      end
    else
      q2:='';
    if not(cbyear.Text='') then
      begin
      q3:=cbyear.Text;
      q3:=' 年='''+q3+''' ';
      end
    else
      q3:='';
    if not(cbmonth.Text='') then
      begin
      q4:=cbmonth.Text;
      q4:=' 月='''+q4+''' ';
      end
    else
      q4:='';
    if not(province.Text='') then
      begin
      q5:=province.Text;
      q5:=' 省='''+q5+''' ';
      end
    else
      q5:='';
    if not(city.Text='') then
      begin
      q6:=city.Text;
      q6:=' 市='''+q6+''' ';
      end
    else
      q6:='';

     //将条件累加成子句
     if q1<>'' then qitem:=q1 else qitem:='';

     if qitem='' then
         if q2<>'' then qitem:=q2;
     if qitem<>'' then
         if q2<>'' then qitem:=qitem+' and '+q2 ;

     if qitem='' then
         if q3<>'' then qitem:=q3;
     if qitem<>'' then
         if q3<>'' then qitem:=qitem+' and '+q3;

     if qitem='' then
         if q4<>'' then qitem:=q4;
     if qitem<>'' then
         if q4<>'' then qitem:=qitem+' and '+q4;

     if qitem='' then
         if q5<>'' then qitem:=q5;
     if qitem<>'' then
         if q5<>'' then qitem:=qitem+' and '+q5;

     if qitem='' then
         if q6<>'' then qitem:=q6;
     if qitem<>'' then
         if q6<>'' then qitem:=qitem+' and '+q6;

   //根据条件过滤
    with qvisitold do begin

      filter:=qitem;
      filtered:=true;

      if not findfirst then  begin
        application.MessageBox('没有您要的信息!','提示',MB_OK);
        btn_clrClick(btn_clr);
        end ;
    end;

 end;
end;

procedure Tfrm_visitold.TabSheet2Enter(Sender: TObject);
begin
   //给出查询页的下拉列表。
   with quse do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 客户名称 from pub_z_client');
    prepare;
    open;
      cbcstmname.Items.Clear ;
      while not Eof do begin
      cbcstmname.Items.Add(FieldByName('客户名称').AsString);
      Next;
      end;
    end;

  with quse do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 办事处名称 from pub_z_office');
    prepare;
    open;
      cbbsc.Items.Clear ;
      while not Eof do begin
      cbbsc.Items.Add(FieldByName('办事处名称').AsString);
      Next;
      end;
    end;


end;

procedure Tfrm_visitold.DBComboBox1Exit(Sender: TObject);
begin
    //通过客户号 给出...。
    with quse do begin
      if active then close;
      sql.Clear;
      sql.Add('select * from pub_z_client where 客户号=:cstmno');
      parambyname('cstmno').AsString:=qvisitold.fieldbyname('客户号').AsString ;
      open;
//      while not eof do begin
      qvisitold.fieldbyname('客户地址').AsString:=fieldbyname('客户地址').AsString;
      qvisitold.fieldbyname('负责人').AsString:=fieldbyname('负责人').AsString;
      qvisitold.fieldbyname('办事处').AsString:=fieldbyname('办事处').AsString;
      qvisitold.fieldbyname('电话号码').AsString:=fieldbyname('电话号码').AsString;
//      next;
//      end;
   end;


end;

procedure Tfrm_visitold.Button1Click(Sender: TObject);
begin
    frm_visitold.Print ;
end;

procedure Tfrm_visitold.btn_prtClick(Sender: TObject);
begin
     frp_visitold:=Tfrp_visitold.Create(application);
     frp_visitold.QuickRep1.Preview;
     frp_visitold.free;
end;
procedure Tfrm_visitold.DBComboBox5Exit(Sender: TObject);
begin
    //通过客户号 给出...。
    with quse do begin
      if active then close;
      sql.Clear;
      sql.Add('select * from pub_z_client where 客户名称=:cstm');
      parambyname('cstm').AsString:=qvisitold.fieldbyname('客户名称').AsString ;
      open;
      DBComboBox1.Items.Clear  ;

      if findfirst then begin
      qvisitold.fieldbyname('客户号').AsString:=fieldbyname('客户号').AsString;

      qvisitold.fieldbyname('客户地址').AsString:=fieldbyname('客户地址').AsString;
      qvisitold.fieldbyname('负责人').AsString:=fieldbyname('负责人').AsString;
      qvisitold.fieldbyname('办事处').AsString:=fieldbyname('办事处').AsString;
      qvisitold.fieldbyname('电话号码').AsString:=fieldbyname('电话号码').AsString;
      end;

      first;
      while not eof do begin
      DBComboBox1.Items.Add(fieldbyname('客户号').AsString);
      next;
      end;
   end;

end;

procedure Tfrm_visitold.FormKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
    begin
      Key := #0;
      Perform(WM_NEXTDLGCTL, 0, 0);
    end;
end;

procedure Tfrm_visitold.FormDestroy(Sender: TObject);
begin
  frm_visitold:=nil
end;

end.

⌨️ 快捷键说明

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