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

📄 contract_tract.pas

📁 主要是介绍DELPHI三层应用以及分布式数据库的应用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    parambyname('hth').AsString:=query1.fieldbyname('合同号').asstring;
    prepare;
    open;
  end;



end;



procedure TForm_contract_tract.FormCreate(Sender: TObject);
begin
  Query1.Open;
  self.DisableScrollBox(ScrollBox);

  // c初始化
  Form_contract_tract.KeyPreview := true;
  unit_public_jin.Setcolor(ScrollBox); //unit_public_jin 是公用变量; 设置输入框颜色
   // c初始化 结束;



  with Query_contract_client  do
  begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select distinct 合同号  from pub_z_contract');
    prepare;
    open;
    DBComboBox1.Items.Clear;
    while not eof do
    begin
      DBComboBox1.Items.Add(fieldbyname('合同号').AsString);
      next;
    end;
  end;

  //办事处
  with Query_contract_client do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select distinct 办事处名称 from pub_z_office');
    prepare;
    open;
    DBComboBox2.Items.Clear;
    while not eof do begin
      DBComboBox2.Items.Add(fieldbyname('办事处名称').AsString);
      next;
    end;
  end;
  //////客户名称
   
  with Query_contract_client do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select distinct 客户名称 from pub_z_client');
    prepare;
    open;
    DBComboBox3.Items.Clear;
    while not eof do begin
      DBComboBox3.Items.Add(fieldbyname('客户名称').AsString);
      next;
    end;
  end;



    if not query1.active then query1.open;


end;

procedure TForm_contract_tract.Query12222AfterScroll(DataSet: TDataSet);
begin
query2select;
end;

procedure TForm_contract_tract.btn_first1Click(Sender: TObject);
begin
self.Query1.First;
end;

procedure TForm_contract_tract.btn_prev1Click(Sender: TObject);
begin
if not self.Query1.Bof then
self.Query1.Prior;
end;

procedure TForm_contract_tract.btn_next1Click(Sender: TObject);
begin
if not self.Query1.Eof then
self.Query1.Next;
end;

procedure TForm_contract_tract.btn_last1Click(Sender: TObject);
begin
self.Query1.Last;
end;

procedure TForm_contract_tract.btn_addnew1Click(Sender: TObject);
begin
        //UnlockEdit;
        EnableScrollBox(ScrollBox);
        self.DBComboBox2.Enabled:=false;
        self.Edit_12.Enabled:=false;
        self.dbcombobox3.Enabled:=false;
        self.DBEdit1.Enabled:=false;
        self.EditDBEdit30.Enabled:=false;

        self.query1.Edit ;//可以修改,新增即修改了

        DisableBtn;
        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;
        DBComboBox1.SetFocus;
end;

procedure TForm_contract_tract.btn_edit1Click(Sender: TObject);
begin
//UnLockEdit;
        EnableScrollBox(ScrollBox);
        self.DBComboBox1.Enabled:=false;
        self.DBComboBox2.Enabled:=false;
        self.Edit_12.Enabled:=false;
        self.dbcombobox3.Enabled:=false;
        self.DBEdit1.Enabled:=false;
        self.EditDBEdit30.Enabled:=false;

        DisableBtn;
        self.query1.Edit ;

        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;
        btn_save.Enabled :=true;
        btn_cancel.Enabled :=true;
end;

procedure TForm_contract_tract.btn_save1Click(Sender: TObject);
begin


        self.Query1.post ;
        self.Query3.ApplyUpdates ;
        
         Query1.Filtered:= false;
        btn_save1.Enabled :=false;
        btn_cancel1.Enabled :=false;
        btn_save.Enabled :=false;
        btn_cancel.Enabled :=false;
        //锁住所有文本框
        //LockEdit;
        EnableScrollBox(ScrollBox);
        //使按钮有效
        EnableBtn ;

        btn_addnew1.Enabled :=true;
        btn_edit1.Enabled :=true;

        btn_addnew.Enabled :=true;
        btn_edit.Enabled :=true;
end;

procedure TForm_contract_tract.btn_cancel1Click(Sender: TObject);
begin

     Query1.Filtered:= false;
      self.Query1.Cancel ;
      EnableBtn;
      //LockEdit;
      DisableScrollBox(ScrollBox);
      btn_cancel.Enabled :=false;
      btn_save.Enabled :=false;

      btn_cancel1.Enabled :=false;
      btn_save1.Enabled :=false;
end;

procedure TForm_contract_tract.Button1Click(Sender: TObject);
begin
self.DBGrid2.ReadOnly:= false;
query3.Append;
query3.FieldByName('合同号').AsString:=query1.fieldbyname('合同号').asstring;

end;

procedure TForm_contract_tract.Button2Click(Sender: TObject);
begin
   ///////
   if self.Query3.RecordCount <>0 then
  begin
    if application.MessageBox(pchar('确信要删除这条记录嘛?'),
        pchar('注意'),MB_OKCANCEL)=IDOK then
       self.query3.Delete;
       Form_contract_tract.Button6Click(Button6);
   end

  //////




end;

procedure TForm_contract_tract.Button5Click(Sender: TObject);
begin

Query3.Close ;
Query3.Open;
Query3.requestlive:=true;
self.DBGrid2.ReadOnly:= false;
self.Query3.Edit;
end;

procedure TForm_contract_tract.Button3Click(Sender: TObject);
begin
self.Close;
end;

procedure TForm_contract_tract.Button6Click(Sender: TObject);
begin
 self.Query3.ApplyUpdates ;
 self.DBGrid2.ReadOnly:= true;
end;

procedure TForm_contract_tract.btn_filterfieldClick(Sender: TObject);
begin
        Application.CreateForm(TForm_search, Form_search);
        form_search.TransADO  := query1 ;
        unit_wxp.WhichForm:=800;
        form_search.Show ;
end;

procedure TForm_contract_tract.Query1AfterScroll(DataSet: TDataSet);
begin
query2select;
end;

procedure TForm_contract_tract.Button4Click(Sender: TObject);
begin
self.Query1.Active :=false;
     self.Query1.SQL.Clear ;
     self.Query1.SQL.Add('select * from pub_z_contract ');
     self.Query1.Active :=true;
     unit_wxp.FinalSql:= 'select * from pub_z_contract ';
end;

procedure TForm_contract_tract.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 Action:=cafree;
end;

procedure TForm_contract_tract.DBComboBox1Enter(Sender: TObject);
begin
DBComboBox1_str :=  DBComboBox1.Text;//.FieldByName('合同编号').AsString;

end;

procedure TForm_contract_tract.DBComboBox1Exit(Sender: TObject);
var
 aaa: string;
 intb: integer;
begin
  DBComboBox1_str:= DBComboBox1.Text;
  if DBComboBox1.Items.IndexOf(DBComboBox1.Text )< 0 then
     begin //1
     if  Query1.State = dsInsert  then //yes  /add new //保留text 值
       begin //
          aaa:= DBComboBox1.Text ;
          if MessageBox(handle,'此合同编号不存在,  请输入一个已经存在的合同编号,或者在列表框中选择一个合同编号!  是否重新输入合同编号?','出错',MB_IconQuestion+ MB_OK)=IDOK then
             begin
               self.DBComboBox3.SetFocus ;
               self.DBComboBox3.SelText := aaa;
             end


       end;
     if  Query1.State = dsEdit  then //add new   dsEdit;//保留原来的值
       begin   //
          if MessageBox(handle,'此合同编号不存在,  请输入一个已经存在的合同编号,或者在列表框中选择一个合同编号!  是否重新输入合同编号?','出错',MB_IconQuestion+ MB_OK)=IDOK then
             begin
               Query1.FieldByName('合同号').AsString := DBComboBox1_str;
               self.DBComboBox1.SetFocus ;
               self.DBComboBox1.SelText := DBComboBox1_str; //   DBComboBox1_str is  a public var
             end
           else //合同编号正确的, 永远执行不到的,因为合同编号肯定不对,因为itemindex <0
           begin
              //取得行号,合同号, 滚动到此行,然后再edit;
              query1.Cancel;
              with query1 do
                begin
                 query1.Filtered := False;
                 Filter := '合同号 = ' + DBComboBox1_str;
                 Filtered := True;
                end;
              query1.Edit;


           end;


       end;  //
     end //1
  else //是一个已经存在的合同
    begin
     query1.Cancel;
     with query1 do
     begin
     query1.Filtered := False;
     Filter := '合同号 = ' + DBComboBox1_str;
     Filtered := True;
     end;
     query1.Edit;
     self.DBEdit2.SetFocus;

    end;//else end;

end;

procedure TForm_contract_tract.FormKeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key = #13 then //如果是一个Enter键盘
  begin
    if not (ActiveControl is TDBGrid) then  //如果当前的控件不是TDBGrid
    begin
       Key := #0;
       Perform(WM_NEXTDLGCTL, 0, 0); { move to next control }
    end
    else if (ActiveControl is TDBGrid) then //在TDBGrid中
    begin
       with TDBGrid(ActiveControl) do
       begin
         if selectedindex <(fieldcount -1) then //如果不是最后一个字段
            selectedindex := selectedindex +1
         else
            selectedindex := 0;
       end;
   end;
end;
end;


procedure TForm_contract_tract.PageControl1Change(Sender: TObject);
begin
self.VertScrollBar.Position:=0;
self.ScrollBox.VertScrollBar.Position:=0;
self.PageControl1.Top:= self.Panel1.Height;


end;

procedure TForm_contract_tract.FormDestroy(Sender: TObject);
begin
  Form_contract_tract:=nil;
end;

end.


⌨️ 快捷键说明

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