📄 contract_tract.pas
字号:
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 + -