📄 base_info.pas
字号:
end;
4:
with ADOT_mat_type do
begin
if RecordCount<1 then exit;
if State in [dsinsert,dsedit] then exit;
temp_name:=fieldvalues['matype_name'];
if MsgQst(handle,'确定删除物料类别 ['+temp_name+'] 吗?') =IDNO then exit;
try
delete;
except
MsgErr(handle,'当前数据在相关连的表中用到,不能删除!');
exit;
end;
end;
end;
end;
//数据表保存对记录的编辑
procedure TForm_base_info.save_rec;
var temp_name, info:string;
begin
case TabSheet.ActivePageIndex of
0:
with ADOT_dep do
begin
if not (State in [dsinsert,dsedit]) then exit;
temp_name:=trim(DBE_dep.Text);
if temp_name='' then
begin
showmessage('部门名称不能为空!!!');
DBE_dep.SetFocus;
exit;
end;
if State in [dsinsert] then
if findRec('department','depname',temp_name,info) then
begin
MsgOK(handle,'该部门已存在,致数据不可更新!');
DBE_dep.SetFocus;
exit;
end;
if State in [dsedit] then
begin
if old_depname<>temp_name then
if findRec('department','depname',temp_name,info) then
begin
MsgOK(handle,'该部门已存在,致数据不可更新!');
DBE_dep.SetFocus;
exit;
end;
end;
try
post;
except
MsgErr(handle,'部门信息操作失败!');
exit;
end;
end;
1:
with ADOT_duty do
begin
if not (State in [dsinsert,dsedit]) then exit;
temp_name:=trim(DBE_duty.Text);
if temp_name='' then
begin
showmessage('职务名称不能为空!!!');
DBE_duty.SetFocus;
exit;
end;
if state in [dsinsert] then
if findRec('duty','dutyname',temp_name,info) then
begin
MsgOK(handle,'该职务已存在,致数据不可更新!');
DBE_duty.SetFocus;
exit;
end;
if state in [dsedit] then
begin
if temp_name<>old_dutyname then
if findRec('duty','dutyname',temp_name,info) then
begin
MsgOK(handle,'该职务已存在,致数据不可更新!');
DBE_duty.SetFocus;
exit;
end;
end;
try
post;
except
MsgErr(handle,'职务信息操作失败!');
exit;
end;
end;
2:
with ADOQ_customer do
begin
if not (State in [dsinsert,dsedit]) then exit;
temp_name:=trim(DBE_cust_name.Text);
if temp_name='' then
begin
showmessage('客户名称不能为空!!!');
DBE_cust_name.SetFocus;
exit;
end;
if trim(DBE_person_name.Text)='' then
begin
showmessage('法人名称不能为空!!!');
DBE_person_name.SetFocus;
exit;
end;
if (state in [dsinsert]) and findRec('customer','cust_name',temp_name,info) then
begin
MsgOK(handle,'该客户已存在,致数据不可更新!');
DBE_cust_name.SetFocus;
exit;
end;
if (State in [dsedit]) and (temp_cust_name<>temp_name)
and findRec('customer','cust_name',temp_name,info) then
begin
MsgOK(handle,'该客户已存在,致数据不可更新!');
DBE_cust_name.SetFocus;
exit;
end;
try
post;
except
MsgErr(handle,'客户信息操作失败!');
exit;
end;
end;
3:
with ADOT_clothing do
begin
if not (State in [dsinsert,dsedit]) then exit;
temp_name:=trim(DBE_clo_name.Text);
if temp_name='' then
begin
showmessage('服装类别名称不能为空!!!');
DBE_clo_name.SetFocus;
exit;
end;
if state in [dsinsert] then
if findRec('clothing','clo_name',temp_name,info) then
begin
MsgOK(handle,'该服装类别已存在,致数据不可更新!');
DBE_clo_name.SetFocus;
exit;
end;
if state in [dsedit] then
begin
if temp_name<>old_clotype then
if findRec('clothing','clo_name',temp_name,info) then
begin
MsgOK(handle,'该服装类别已存在,致数据不可更新!');
DBE_clo_name.SetFocus;
exit;
end;
end;
try
post;
except
MsgErr(handle,'服装类别信息操作失败!');
exit;
end;
end;
4:
with ADOT_mat_type do
begin
if not (State in [dsinsert,dsedit]) then exit;
temp_name:=trim(DBE_matype_name.Text);
if temp_name='' then
begin
showmessage('物料类别名称不能为空!!!');
DBE_matype_name.SetFocus;
exit;
end;
if state in [dsinsert] then
if findRec('material_type','matype_name',temp_name,info) then
begin
MsgOK(handle,'该物料类别已存在,致数据不可更新!');
DBE_matype_name.SetFocus;
exit;
end;
if state in [dsedit] then
begin
if old_matype<>temp_name then
if findrec('material_type','matype_name',temp_name,info) then
begin
msgok(handle,'该物料类别已存在,致数据不可更新!');
dbe_matype_name.SetFocus;
exit;
end;
end;
try
post;
except
MsgErr(handle,'物料类别信息操作失败!');
exit;
end;
end;
end;
end;
procedure TForm_Base_info.ToolBtn_addClick(Sender: TObject);
begin
TabSheet.SetFocus;
append_rec;
end;
procedure TForm_Base_info.ToolBtn_editClick(Sender: TObject);
begin
edit_rec;
end;
procedure TForm_Base_info.ToolBtn_deleteClick(Sender: TObject);
begin
delete_rec;
end;
procedure TForm_Base_info.ToolBtn_saveClick(Sender: TObject);
begin
save_rec;
end;
procedure TForm_Base_info.ToolBtn_cancelClick(Sender: TObject);
begin
cancel_rec;
end;
//显示对应物料是否需支付个人工资
procedure TForm_Base_info.ToolBtn_exitClick(Sender: TObject);
begin
close;
end;
procedure TForm_Base_info.DBE_tel1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', '-', #13, #8]) then abort;
end;
procedure TForm_Base_info.ADOT_depAfterEdit(DataSet: TDataSet);
begin
old_depname:=DataSet.FieldValues['depname']
end;
procedure TForm_Base_info.ADOT_dutyAfterEdit(DataSet: TDataSet);
begin
old_dutyname:=dataset.FieldValues['dutyname'];
end;
procedure TForm_Base_info.ADOT_clothingAfterEdit(DataSet: TDataSet);
begin
old_clotype:=dataset.FieldValues['clo_name'];
end;
procedure TForm_Base_info.ADOT_mat_typeAfterEdit(DataSet: TDataSet);
begin
old_matype:=dataset.FieldValues['matype_name'];
end;
procedure TForm_Base_info.FormShow(Sender: TObject);
begin
show_tabsheet_caption;
end;
procedure TForm_Base_info.ADOQ_customerAfterEdit(DataSet: TDataSet);
begin
temp_cust_name:=DataSet.fieldvalues['cust_name'];
end;
//部门记录状态改变响应的变化
procedure TForm_Base_info.DS_dep_TStateChange(Sender: TObject);
begin
if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
begin
dbgrid1.Enabled:=false;
DBMemo_dep.ReadOnly:=false;
DBMemo_dep.ParentColor:=false;
DBMemo_dep.Color:=clwindow;
ToolBtn_add.Enabled:=false;
ToolBtn_edit.Enabled:=false;
ToolBtn_delete.Enabled:=false;
ToolBtn_save.Enabled:=true;
ToolBtn_cancel.Enabled:=true;
DBE_dep.ReadOnly:=false;
DBE_dep.ParentColor:=false;
DBE_dep.Color:=clwindow;
DBE_dep.SetFocus;
end;
if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
begin
dbgrid1.Enabled:=true;
DBE_dep.ReadOnly:=true;
DBE_dep.ParentColor:=true;
DBMemo_dep.ReadOnly:=true;
DBMemo_dep.ParentColor:=true;
ToolBtn_add.Enabled:=true;
ToolBtn_edit.Enabled:=true;
ToolBtn_delete.Enabled:=true;
ToolBtn_save.Enabled:=false;
ToolBtn_cancel.Enabled:=false;
end;
end;
//职务记录状态变化时响应的变化
procedure TForm_Base_info.DS_duty_TStateChange(Sender: TObject);
begin
if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
begin
dbgrid2.Enabled:=false;
DBMemo_duty.ReadOnly:=false;
DBMemo_duty.ParentColor:=false;
DBMemo_duty.Color:=clwindow;
ToolBtn_add_1.Enabled:=false;
ToolBtn_edit_1.Enabled:=false;
ToolBtn_delete_1.Enabled:=false;
ToolBtn_save_1.Enabled:=true;
ToolBtn_cancel_1.Enabled:=true;
DBE_duty.ReadOnly:=false;
DBE_duty.ParentColor:=false;
DBE_duty.Color:=clwindow;
DBE_duty.SetFocus;
end;
if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
begin
dbgrid2.Enabled:=true;
DBE_duty.ReadOnly:=true;
DBE_duty.ParentColor:=true;
DBMemo_duty.ReadOnly:=true;
DBMemo_duty.ParentColor:=true;
ToolBtn_add_1.Enabled:=true;
ToolBtn_edit_1.Enabled:=true;
ToolBtn_delete_1.Enabled:=true;
ToolBtn_save_1.Enabled:=false;
ToolBtn_cancel_1.Enabled:=false;
end;
end;
//服装类别记录状态发生改变时响应的操作
procedure TForm_Base_info.DS_clothingStateChange(Sender: TObject);
begin
if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
begin
dbgrid4.Enabled:=false;
DBMemo_cloth.ReadOnly:=false;
DBMemo_cloth.ParentColor:=false;
DBMemo_cloth.Color:=clwindow;
ToolBtn_add_5.Enabled:=false;
ToolBtn_edit_5.Enabled:=false;
ToolBtn_delete_5.Enabled:=false;
ToolBtn_save_5.Enabled:=true;
ToolBtn_cancel_5.Enabled:=true;
DBE_clo_name.ReadOnly:=false;
DBE_clo_name.ParentColor:=false;
DBE_clo_name.Color:=clwindow;
DBE_clo_name.SetFocus;
end;
if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
begin
dbgrid4.Enabled:=true;
DBE_clo_name.ReadOnly:=true;
DBE_clo_name.ParentColor:=true;
DBMemo_cloth.ReadOnly:=true;
DBMemo_cloth.ParentColor:=true;
ToolBtn_add_5.Enabled:=true;
ToolBtn_edit_5.Enabled:=true;
ToolBtn_delete_5.Enabled:=true;
ToolBtn_save_5.Enabled:=false;
ToolBtn_cancel_5.Enabled:=false;
end;
end;
//物料类别记录表状态改变时所响应的更改
procedure TForm_Base_info.DS_mat_typeStateChange(Sender: TObject);
begin
if (Sender as Tdatasource).DataSet.State in [dsinsert,dsedit] then
begin
dbgrid5.Enabled:=false;
DBMemo_matype.ReadOnly:=false;
DBMemo_matype.ParentColor:=false;
DBMemo_matype.Color:=clwindow;
ToolBtn_add_3.Enabled:=false;
ToolBtn_edit_3.Enabled:=false;
ToolBtn_delete_3.Enabled:=false;
ToolBtn_save_3.Enabled:=true;
ToolBtn_cancel_3.Enabled:=true;
DBE_matype_name.ReadOnly:=false;
DBE_matype_name.ParentColor:=false;
DBE_matype_name.Color:=clwindow;
DBE_matype_name.SetFocus;
end;
if (Sender as Tdatasource).DataSet.State in [dsbrowse] then
begin
dbgrid5.Enabled:=true;
DBE_matype_name.ReadOnly:=true;
DBE_matype_name.ParentColor:=true;
DBMemo_matype.ReadOnly:=true;
DBMemo_matype.ParentColor:=true;
ToolBtn_add_3.Enabled:=true;
ToolBtn_edit_3.Enabled:=true;
ToolBtn_delete_3.Enabled:=true;
ToolBtn_save_3.Enabled:=false;
ToolBtn_cancel_3.Enabled:=false;
end;
end;
//对客户表操作时对应的控件的变化
procedure TForm_Base_info.DS_customerStateChange(Sender: TObject);
begin
if (sender as Tdatasource).DataSet.state in [dsinsert,dsedit] then
begin
Edt_procince.ParentColor:=true;
edt_custname.ParentColor:=true;
edtname.ParentColor:=true;
SearchBtn.Enabled:=false;
Panel_search.Enabled:=false;
Panel_detail.Enabled:=true;
ToolBtn_add_2.Enabled:=false;
ToolBtn_edit_2.Enabled:=false;
ToolBtn_delete_2.Enabled:=false;
ToolBtn_save_2.Enabled:=true;
ToolBtn_cancel_2.Enabled:=true;
DBE_cust_name.SetFocus;
end;
if (sender as Tdatasource).DataSet.state in [dsbrowse] then
begin
Panel_search.Enabled:=true;
Edt_procince.ParentColor:=false;
edt_procince.Color:=clwindow;
edt_custname.ParentColor:=false;
edt_custname.Color:=clwindow;
edtname.ParentColor:=false;
edtname.Color:=clwindow;
SearchBtn.Enabled:=true;
Panel_detail.Enabled:=false;
ToolBtn_add_2.Enabled:=true;
ToolBtn_edit_2.Enabled:=true;
ToolBtn_delete_2.Enabled:=true;
ToolBtn_save_2.Enabled:=false;
ToolBtn_cancel_2.Enabled:=false;
end;
end;
procedure TForm_Base_info.SearchBtnClick(Sender: TObject);
label gotosql;
var
procince, name, custname, Strwhere:string;
begin
procince:=trim(edt_procince.Text);
name:=trim(edtname.Text);
custname:=trim(edt_custname.Text);
strwhere:='';
if procince<>'' then
begin
strwhere:='where province like '+''''+'%'+procince+'%'+'''';
if name<>'' then strwhere:=strwhere+' and person_name like '+''''+'%'+name+'%'+'''';
if custname<>'' then strwhere:=strwhere+' and cust_name like '+''''+'%'+custname+'%'+'''';
goto gotosql;
end;
if name<>'' then
begin
strwhere:='where person_name like '+''''+'%'+name+'%'+'''';
if custname<>'' then strwhere:=strwhere+' and cust_name like '+''''+'%'+custname+'%'+'''';
goto gotosql;
end;
if custname<>'' then strwhere:='where cust_name like '+''''+'%'+custname+'%'+'''';
gotosql:
with ADOQ_customer do
begin
close;
sql.Strings[1]:=strwhere;
open;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -