📄 fixdata.pas
字号:
openadoquery(adodm.ADOQuery2, s);
if adodm.ADOQuery2.RecordCount > 0 then
begin
MessageDlg('已有此部门名称,不能重复!', mtInformation, [mbOk], 0);
exit;
end;
//更改部门库中的部门名称
s := 'update bm set bmmc=''' + s3 + ''' where bmbh=''' + s2 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('更改完毕!', mtInformation, [mbOk], 0);
adodm.ADOQuery13.close;
adodm.ADOQuery14.close;
adodm.ADOQuery13.open;
adodm.ADOQuery14.open;
edit22.Text := '';
end;
procedure Tfixdatafm.BitBtn11Click(Sender: TObject);
var s, s1, s2, s3, s5, s6: string;
begin
s1 := adodm.adoquery14.FieldValues['bmmc']; //目的
s2 := adodm.adoquery14.FieldValues['bmbh'];
s3 := adodm.adoquery13.FieldValues['bmbh']; //源
s5 := adodm.adoquery13.FieldValues['bmmc'];
if (s1 = '') or (s5 = '') then exit;
s6 := '把' + s5 + '所有员工合并到' + s1 + ',请确认!';
if MessageDlg(s6, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//更改所有员工的部门名称和部门编号
s := 'update lkyg set bmbh=''' + s2 + ''' where bmbh=''' + s3 + '''';
execadoquery(adodm.ADOQuery2, s);
//更改发放记录中所有员工的部门编号
s := 'update ffjl set bmbh=''' + s2 + ''' where bmbh=''' + s3 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('合并完毕!', mtInformation, [mbOk], 0);
end;
end;
procedure Tfixdatafm.TabSheet3Show(Sender: TObject);
begin
//dm.query13.open;
end;
procedure Tfixdatafm.BitBtn12Click(Sender: TObject);
var s, s1, s2: string;
begin
s1 := trim(edit26.text);
s2 := trim(edit24.text);
if (s1 = '') or (s2 = '') then exit;
//更改工种库中的工种名称
s := 'update gz set gzmc=''' + s1 + ''' where gzbh=''' + s2 + '''';
execadoquery(adodm.ADOQuery2, s);
adodm.ADOQuery10.close;
adodm.ADOQuery10.open;
MessageDlg('更改完毕!', mtInformation, [mbOk], 0);
edit24.Text := '';
end;
procedure Tfixdatafm.BitBtn13Click(Sender: TObject);
var s, s1: string;
begin
if trim(edit27.text) = '' then exit;
if MessageDlg('删除此工种及员工和发放记录,请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//删除所有此工种的员工
s1 := trim(edit27.text);
s := 'delete from lkyg where gzbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除工种库中的此工种
s := 'delete from gz where gzbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除工种劳保库中的此工种劳保
s := 'delete from gzlb where gzbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除发放记录
s := 'delete from ffjl where gzbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//
adodm.ADOQuery10.close;
adodm.ADOQuery10.open;
MessageDlg('删除完毕!', mtInformation, [mbOk], 0);
end;
end;
procedure Tfixdatafm.BitBtn14Click(Sender: TObject);
var s, s1, s2, s3: string;
begin
//更改所有员工发放记录中的劳保名称
s1 := trim(edit28.text);
s2 := trim(edit29.text);
if (s1 = '') or (s2 = '') then exit;
s := 'update ffjl set lbmc=''' + s2 + ''' where lbmc=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//更改工种劳保库中的劳保名称
s := 'update gzlb set lbmc=''' + s2 + ''' where lbmc=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('更改完毕!', mtInformation, [mbOk], 0);
edit28.Text := '';
edit29.Text := '';
end;
procedure Tfixdatafm.BitBtn15Click(Sender: TObject);
var
s, s1, s2, s3, s4, sqltxt: string;
begin
s1 := trim(edit25.Text);
s2 := trim(edit30.Text);
s3 := trim(edit32.Text);
s4 := trim(edit10.text);
if (s1 = '') or (s2 = '') then exit;
if (s3 = '') or (s4 = '') then exit;
if MessageDlg('请确认!', mtConfirmation, [mbYes, mbNo], 0) <> mrYes then exit;
//此处要加判断代码:日期是否合法,是否有此工种,否则可能添加新工种
sqltxt := 'select gzbh from gz where gzbh=''' + s1 + '''';
openadoquery(adodm.ADOQuery2, sqltxt);
if adodm.ADOQuery2.RecordCount = 0 then
begin
MessageDlg('工种还不存在!', mtWarning, [mbOK], 0);
exit;
end;
//检测是否存在此劳保
sqltxt := 'select lbmc from gzlb where gzbh=''' + s1 + ''' and lbmc=''' + s2 + '''';
openadoquery(adodm.ADOQuery2, sqltxt);
if adodm.ADOQuery2.RecordCount > 0 then
begin
MessageDlg('此工种已有此劳保用品!', mtWarning, [mbOK], 0);
exit;
end;
//日期是否合法
if isdate(s4) = false then
begin
MessageDlg('日期输入不正确!', mtWarning, [mbOK], 0);
exit;
end;
if is4year(s4) = false then
begin
MessageDlg('年份请输入四位!!', mtWarning, [mbOK], 0);
exit;
end;
//在工种劳保库中增加新的劳保及发放周期
s := 'insert into gzlb (gzbh,lbmc,ffzq) values(''' + s1 + ''',''' + s2 + ''',''' + s3 + ''')';
execadoquery(adodm.ADOQuery2, s);
//为此工种的员工增加初始发放记录
s := 'insert into ffjl select lkyg.bmbh,lkyg.gzbh,lkyg.ygbh,gzlb.lbmc,gzlb.ffzq';
s := s + ' from lkyg,gzlb where lkyg.gzbh=gzlb.gzbh and ';
s := s + ' lbmc=''' + s2 + '''';
execadoquery(adodm.ADOQuery2, s);
//修改初始发放日期
s := 'update ffjl set ffrq=''' + s4 + ''' where ffrq=#90-1-1#';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('更改完毕!', mtInformation, [mbOk], 0);
edit30.Text := '';
edit32.Text := '';
edit10.Text := '';
end;
procedure Tfixdatafm.DBGrid13CellClick(Column: TColumn);
var s1, sqltxt: string;
begin
if adodm.adoquery10.RecordCount = 0 then exit;
s1 := adodm.adoquery10.FieldValues['gzbh'];
sqltxt := 'select * from gzlb where gzbh=''' + s1 + '''';
openadoquery(adodm.ADOQuery11, sqltxt);
edit24.Text := s1;
edit25.Text := s1;
edit35.Text := s1;
edit27.Text := s1;
edit33.Text := s1;
end;
procedure Tfixdatafm.BitBtn16Click(Sender: TObject);
var s, s1, s2: string;
begin
s1 := trim(edit33.text);
s2 := trim(edit34.text);
if (s1 = '') or (s2 = '') then exit;
if MessageDlg('请确认!', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
//删除工种劳保库的此工种对应的劳保
s := 'delete from gzlb where gzbh=''' + s1 + ''' and lbmc=''' + s2 + '''';
execadoquery(adodm.ADOQuery2, s);
//删除发放记录
s := 'delete from ffjl where gzbh=''' + s1 + ''' and lbmc=''' + s2 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('删除完毕!', mtInformation, [mbOk], 0);
edit33.Text := '';
edit34.Text := '';
end;
end;
procedure Tfixdatafm.TabSheet2Show(Sender: TObject);
begin
edit10.Text := datetostr(date);
adodm.ADOQuery10.Close;
adodm.ADOQuery12.Close;
adodm.ADOQuery12.open;
adodm.ADOQuery10.open;
end;
procedure Tfixdatafm.BitBtn22Click(Sender: TObject);
var s, s1, s2, s3: string;
begin
//更改所有员工发放记录中的发放周期
s1 := trim(edit35.text);
s2 := trim(edit36.text);
s3 := trim(edit37.text);
if (s1 = '') or (s2 = '') or (s3 = '') then exit;
//更改发放记录周期
s := 'update ffjl set ffzq=''' + s3 + ''' where lbmc=''' + s2 + ''' and gzbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
//更改工种劳保库中的发放周期
s := 'update gzlb set ffzq=''' + s3 + ''' where lbmc=''' + s2 + ''' and gzbh=''' + s1 + '''';
execadoquery(adodm.ADOQuery2, s);
MessageDlg('更改完毕!', mtInformation, [mbOk], 0);
edit37.Text := '';
end;
procedure Tfixdatafm.Edit24KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit26.setfocus;
end;
procedure Tfixdatafm.Edit28KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit29.setfocus;
end;
procedure Tfixdatafm.Edit25KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit30.setfocus;
end;
procedure Tfixdatafm.Edit30KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit32.setfocus;
end;
procedure Tfixdatafm.Edit33KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit34.setfocus;
end;
procedure Tfixdatafm.Edit35KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit36.setfocus;
end;
procedure Tfixdatafm.Edit36KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit37.setfocus;
end;
procedure Tfixdatafm.Edit15KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8, #13]) then key := #0;
//if key=#13 then edit16.setfocus;
end;
procedure Tfixdatafm.Edit17KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then edit21.setfocus;
end;
procedure Tfixdatafm.TabSheet7Show(Sender: TObject);
begin
//dm.query24.Close;
//dm.query24.Open;
end;
procedure Tfixdatafm.TabSheet5Show(Sender: TObject);
begin
adodm.adoquery13.close;
adodm.adoquery14.close;
adodm.adoquery13.open;
adodm.adoquery14.open;
end;
procedure Tfixdatafm.Query6AfterPost(DataSet: TDataSet);
begin
//dm.query7.Close;
//dm.query7.Open;
end;
procedure Tfixdatafm.DBGrid4CellClick(Column: TColumn);
begin
edit19.Text := adodm.adoquery12.FieldValues['lbmc'];
end;
procedure Tfixdatafm.DBGrid16CellClick(Column: TColumn);
var lbmc: string;
begin
if adodm.adoquery11.Active = false then exit;
if adodm.adoquery11.RecordCount = 0 then exit;
lbmc := adodm.adoquery11.FieldValues['lbmc'];
edit28.Text := lbmc;
edit30.Text := lbmc;
edit36.Text := lbmc;
edit34.Text := lbmc;
end;
procedure Tfixdatafm.Edit37KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8, #13]) then key := #0;
end;
procedure Tfixdatafm.Edit32KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8, #13]) then key := #0;
end;
procedure Tfixdatafm.Edit38KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8, #13]) then key := #0;
end;
procedure Tfixdatafm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adodm.ADOQuery2.Close;
adodm.ADOQuery10.Close;
adodm.ADOQuery11.Close;
adodm.ADOQuery12.Close;
adodm.ADOQuery13.Close;
adodm.ADOQuery14.Close;
adodm.ADOQuery15.Close;
adodm.ADOQuery16.Close;
adodm.ADOQuery17.Close;
adodm.adotable2.close;
Action := caFree;
end;
procedure Tfixdatafm.getlbmc;
var s1, s2: string;
i: integer;
begin
adodm.ADOTable2.Active := true;
s1 := 'ygbh';
for i := 0 to adodm.ADOTable2.FieldCount - 1 do
begin
s2 := adodm.ADOTable2.Fields[i].FieldName;
if (s2 = 'id') or (s2 = 'bmbh') or (s2 = 'xm') or (s2 = 'xmdm') or (s2 = 'xb') or
(s2 = 'gzbh') or (s2 = 'ygbh') then s1 := s1
else
s1 := s1 + ',' + s2;
end;
s1 := s1 + ' ';
lblist := s1;
adodm.ADOTable2.Active := false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -