📄 unit3.pas
字号:
end;
sl.SaveToFile(FileName);
finally
sl.Free;
Screen.Cursor := crDefault;
end
end;
procedure TForm3.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
edit4.setfocus;
edit4.text:=getpy1(edit3.text);
end;
end;
procedure TForm3.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox2.setfocus;
combobox2.DroppedDown:=true;
end;
end;
procedure TForm3.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox3.setfocus;
combobox3.DroppedDown:=true;
end;
end;
procedure TForm3.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then key:=#0 ;
if key=#13 then edit3.setfocus;
end;
procedure TForm3.Edit3Exit(Sender: TObject);
begin
edit4.setfocus;
edit4.text:=getpy1(edit3.text);
end;
procedure TForm3.ComboBox1Exit(Sender: TObject);
begin
with table1 do
begin
if (combobox1.Text<>'') and (findkey([combobox1.Text])) then
begin
edit1.text:=FieldValues['bmbh'];
exit;
end;
if (combobox1.Text<>'') and (not findkey([combobox1.Text])) then
begin
MessageDlg('没有此单位名称!', mtWarning, [mbOk], 0);
exit;
end;
end;
end;
procedure TForm3.ComboBox3Exit(Sender: TObject);
begin
with table2 do
begin
if (combobox3.Text<>'') and (findkey([combobox3.Text])) then
begin
edit5.text:=FieldValues['gzbh'];
// combobox4.setfocus;
// combobox4.DroppedDown:=true;
exit;
end;
if (combobox3.Text<>'') and (not findkey([combobox3.Text])) then
begin
MessageDlg('没有工种!', mtWarning, [mbOk], 0);
exit;
end;
end;
end;
procedure TForm3.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox4.setfocus;
combobox4.DroppedDown:=true;
end;
end;
procedure TForm3.ComboBox4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox5.setfocus;
combobox5.DroppedDown:=true;
end;
end;
procedure TForm3.ComboBox5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox6.setfocus;
combobox6.DroppedDown:=true;
end;
end;
procedure TForm3.ComboBox6KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
edit6.text:=combobox6.text;
edit7.text:=combobox6.text;
edit8.text:=combobox6.text;
combobox7.setfocus;
combobox7.DroppedDown:=true;
end;
end;
procedure TForm3.ComboBox7KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox8.setfocus;
combobox8.DroppedDown:=true;
end;
end;
procedure TForm3.ComboBox8KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then bitbtn1.SetFocus;
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
var
i:integer;
yy,mm,dd:word;
ffrq:string;
begin
if (combobox1.text='') or (edit1.text='') or (edit2.text='')
or (edit3.text='') or (edit4.text='') or (edit5.text='')
or (combobox3.text='') or (combobox2.text='') then
begin
MessageDlg('资料输入不全!', mtWarning, [mbOk], 0);
exit;
end;
table3.active:=true;
with table3 do
begin
append;
FieldValues['bmbh'] := trim(edit1.text);
FieldValues['ygbh'] := trim(edit2.text);
FieldValues['xm'] := trim(edit3.text);
FieldValues['xmdm'] := trim(Edit4.text);
FieldValues['xb'] := trim(combobox2.text);
FieldValues['gzbh'] := trim(edit5.text);
FieldValues['gzfgg'] :=combobox4.text;
FieldValues['mygg'] :=combobox5.text;
FieldValues['bwx'] :=combobox6.text;
FieldValues['bjx'] :=FieldValues['bwx'];
FieldValues['jx'] := FieldValues['bwx'];
FieldValues['jyx'] :=FieldValues['bwx'];
FieldValues['cygg'] :=trim(combobox7.text);
FieldValues['xz'] :=trim(combobox8.text);
Post;
end;
//开始生成发放记录
with Query1 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq from gzlb');
Sql.add(' where gzbh=:p1');
ParamByname('p1').Asstring:=trim(edit5.text);
prepare;
open;
end;
//生成初始发放日期
decodedate(Date,yy,mm,dd);
ffrq:=inttostr(yy)+'-07-01';
//发放记录填写
table4.Open;
with table4 do
begin
for i:= 1 to query1.recordcount do
begin
append;
FieldValues['bmbh'] := trim(edit1.text);
FieldValues['gzbh'] := trim(edit5.text);
FieldValues['ygbh'] := trim(edit2.text);
FieldValues['lbmc'] := query1.FieldValues['lbmc'];
FieldValues['ffzq'] := query1.FieldValues['ffzq'];
FieldValues['ffrq'] := ffrq;
post;
query1.Next;
end;
end;
table4.close;
//将发放记录列出供修改
with Query2 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq,ffrq from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit2.text);
prepare;
open;
end;
//清理组件
edit2.text:='';
edit3.text:='';
edit4.text:='';
combobox1.SetFocus;
end;
procedure TForm3.Table3PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
const
eKeyViol = 9729;
begin
if (E is EDBEngineError) then
if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
begin
MessageDlg('员工编号重复,请检查!', mtWarning, [mbOK], 0);
Table3.Cancel;
Abort;
end;
end;
procedure TForm3.BitBtn3Click(Sender: TObject);
var
i:integer;
yy,mm,dd:word;
ffrq,s,s1:string;
begin
if (edit9.text='') or (edit11.text='') then
begin
MessageDlg('员工编号、部门编号、新工种编号缺一不可!', mtWarning, [mbOK], 0);
exit;
end;
//判断员工是否存在或对应的工种是否存在
with Query1 do
begin
close;
SQL.clear;
SQL.add('select lkyg.ygbh,gz.gzbh from lkyg,gz');
Sql.add(' where lkyg.ygbh=:p1 and gz.gzbh=:p2');
ParamByname('p1').Asstring:=trim(edit9.text);
ParamByname('p2').Asstring:=trim(edit11.text);
prepare;
open;
end;
if query1.RecordCount =0 then
begin
MessageDlg('员工不存在或者工种不存在!', mtWarning, [mbOK], 0);
exit;
end;
//删除原来记录
with Query1 do
begin
close;
SQL.clear;
SQL.add('delete from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
ExecSQL;
end;
//开始生成更新发放记录
with Query1 do
begin
close;
SQL.clear;
SQL.add('select gzlb.lbmc,ffzq,lkyg.bmbh from gzlb,lkyg');
Sql.add(' where gzlb.gzbh=:p1 and ygbh=:p2');
ParamByname('p1').Asstring:=trim(edit11.text);
ParamByname('p2').Asstring:=trim(edit9.text);
prepare;
open;
end;
//生成初始发放日期
decodedate(Date,yy,mm,dd);
ffrq:=inttostr(yy)+'-07-01';
//发放记录填写
with table4 do
begin
for i:= 1 to query1.recordcount do
begin
append;
FieldValues['bmbh'] := query1.FieldValues['bmbh'];
FieldValues['ygbh'] := trim(edit9.text);
FieldValues['gzbh'] := trim(edit11.text);
FieldValues['lbmc'] := query1.FieldValues['lbmc'];
FieldValues['ffzq'] := query1.FieldValues['ffzq'];
FieldValues['ffrq'] := ffrq;
post;
query1.Next;
end;
end;
//将发放记录列出供修改
with Query2 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq,ffrq from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
open;
end;
//更改主库中工种代码
s1:=trim(edit11.Text );
s:='update lkyg set gzbh='''+s1+''' where ygbh=:p1';
with Query1 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
ExecSQL;
end;
end;
procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then edit2.SetFocus;
end;
procedure TForm3.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
combobox4.setfocus;
combobox4.DroppedDown:=true;
end;
end;
procedure TForm3.BitBtn2Click(Sender: TObject);
begin
if (edit9.text='') or (edit11.text='') then
begin
MessageDlg('员工编号、新工种编号缺一不可!', mtWarning, [mbOK], 0);
exit;
end;
with Query2 do
begin
close;
SQL.clear;
SQL.add('select lbmc,ffzq,ffrq from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit9.text);
prepare;
open;
end;
end;
procedure TForm3.Edit14Change(Sender: TObject);
var
s:string;
begin
s:=trim(edit14.text)+'*';
with Query3 do
begin
close;
SQL.clear;
SQL.add('select xm,ygbh,bmbh from lkyg');
Sql.add(' where xmdm like :xt');
ParamByname('xt').Asstring:=s;
prepare;
open;
end;
if query3.RecordCount =1 then
begin
edit12.text:=query3.FieldValues['ygbh'];
edit20.text:=edit12.text;
edit13.text:=query3.FieldValues['xm'];
//列出员工资料
query6.Open;
query7.open;
end;
end;
procedure TForm3.DBGrid6CellClick(Column: TColumn);
begin
edit13.text:=query3.FieldValues['xm'];
edit12.text:=query3.FieldValues['ygbh'];
edit20.text:=edit12.text;
with query6 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=query3.FieldValues['ygbh'];
prepare;
open;
end;
with query7 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=query3.FieldValues['ygbh'];
prepare;
open;
end;
end;
procedure TForm3.TabSheet6Show(Sender: TObject);
begin
query5.Open;
end;
procedure TForm3.BitBtn5Click(Sender: TObject);
begin
if trim(edit12.text)='' then exit;
if MessageDlg('删除此员工及其发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//删除员工
with Query9 do
begin
close;
SQL.clear;
SQL.add('delete from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit12.text);
prepare;
ExecSQL;
end;
//删除发放记录
with Query9 do
begin
close;
SQL.clear;
SQL.add('delete from ffjl');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit12.text);
prepare;
ExecSQL;
end;
MessageDlg('已经删除!', mtWarning, [mbOk], 0);
end;
query7.close;
query7.Open;
query6.close;
query6.Open;
end;
procedure TForm3.BitBtn4Click(Sender: TObject);
var s,s1,s2:string;
begin
s1:=query5.FieldValues['bmmc'];
s2:=query5.FieldValues['bmbh'];
s:='update lkyg set bmbh='''+s2+''' where ygbh=:p1';
with Query8 do
begin
close;
SQL.clear;
SQL.add(s);
ParamByname('p1').Asstring:=trim(edit12.text);
prepare;
ExecSQL;
end;
query7.close;
query7.Open;
MessageDlg('更改部门完毕!', mtInformation,[mbOk], 0);
end;
procedure TForm3.BitBtn6Click(Sender: TObject);
begin
with query6 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit20.text);
prepare;
open;
end;
with query7 do
begin
close;
SQL.clear;
SQL.add('select * from lkyg');
Sql.add(' where ygbh=:p1');
ParamByname('p1').Asstring:=trim(edit20.text);
prepare;
open;
end;
end;
procedure TForm3.BitBtn7Click(Sender: TObject);
var s,s1,s2,s3,s4:string;
begin
s1:=trim(edit17.Text);
s2:=trim(edit18.Text);
s3:=trim(edit19.Text);
s4:=trim(edit38.Text);
if (s1='') or (s2='') then exit;
if (s3='') or (s4='') then exit;
with Query8 do
begin
close;
SQL.clear;
SQL.add('select gzbh from gz');
Sql.add(' where gzbh=:p1');
ParamByname('p1').Asstring:=s2;
prepare;
open;
end;
if query8.RecordCount=0 then
begin
// MessageDlg('工种还不存在!', mtWarning, [mbOK], 0);
s:='insert into gz values('''+s2+''','''+s1+''')';
with Query8 do
begin
close;
SQL.clear;
SQL.add(s);
prepare;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -