📄 changebc.pas
字号:
formchangeschedefine.free;
end;
end;
end;
end;
procedure TFormchangebc.DBGrid1DblClick(Sender: TObject);
begin
dbnavigator1.BeforeAction (dbnavigator1,nbedit);
end;
procedure TFormchangebc.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOchangebc.Sort :=column.FieldName+' '+f;
end;
procedure TFormchangebc.FindClick(Sender: TObject);
begin
findrecorder(adodataset3,'Adodataset3','vatd08011');
//findrecorder(datamod.adochangebc,'Adochangebc','atd08010'); //调用publicfuction中的查询功能
end;
procedure TFormchangebc.DBGrid2TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOchangebcman.Sort :=column.FieldName+' '+f;
end;
procedure TFormchangebc.N1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='ASC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure TFormchangebc.N2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='DESC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure TFormchangebc.N4Click(Sender: TObject);
var i:1..5;
begin
datamod.ADOchangebc.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
datamod.ADOchangebc.Sort :=datamod.ADOchangebc.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then datamod.ADOchangebc.Sort:=datamod.ADOchangebc.Sort+',';
end;
end;
end;
procedure TFormchangebc.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormchangebc.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (activecontrol=dbgrid1) or (activecontrol=dbgrid2) then
exit;
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormchangebc.FormActivate(Sender: TObject);
begin
datamod.ADOchangebc.Close;
datamod.ADOchangebc.Open;
datamod.ADOchangebcman.close;
datamod.adochangebcman.Open;
datetimepicker3.DateTime:=now;
datetimepicker4.DateTime:=now;
end;
procedure TFormchangebc.N5Click(Sender: TObject);
begin
if not datamod.ADOchangebcman.Eof then
datamod.ADOchangebcman.Delete;
end;
procedure TFormchangebc.N6Click(Sender: TObject);
begin
datamod.ADOchangebcman.Append;
end;
procedure TFormchangebc.N7Click(Sender: TObject);
begin
datamod.ADOchangebcman.edit;
end;
procedure TFormchangebc.N8Click(Sender: TObject);
begin
datamod.ADOchangebcman.cancel;
end;
procedure TFormchangebc.TbnSortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TFormchangebc.FormkeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then
begin
Application.helpfile :=extractfilepath(application.exename) +'help\pasahelp.hlp';
application.helpjump('shm_contents0018');
end;
end;
procedure TFormchangebc.tbnprintClick(Sender: TObject);
begin
if not assigned(bcchangereport) then
bcchangereport:=tbcchangereport.create(self);
bcchangereport.show;
end;
procedure TFormchangebc.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
//hxw-------------------2003/04/05
datamod.ADOchangebc.close;
//datamod.adochangebc.commandtext:='select * from atd08010 ';
datamod.ADOchangebc.Filtered :=false;
datamod.ADOchangebc.Filter :='';
datamod.ADOchangebc.Filtered:=true;
//maskedit2.Text:=' / / ';
// maskedit1.Text:=' / / ';
datamod.ADOchangebc.open;
datamod.adochangebcman.close;
datamod.adochangebcman.open;
//-----------------------hxw
end;
procedure TFormchangebc.DBGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
datamod.adochangebc.close;
datamod.adochangebc.commandtext:='select * from atd08010 ';
datamod.adochangebc.open;
datamod.adochangebcman.close;
datamod.adochangebcman.open;
end;
procedure TFormchangebc.Button1Click(Sender: TObject);
begin
with datamod do
begin
adochangebc.close;
adochangebc.commandtext:='select a.* from atd08010 a,atd08011 b where a.startrq=b.startrq and a.latesche=b.latesche and b.workno='''+edit1.text+''' ';
adochangebc.open;
end;
end;
procedure TFormchangebc.ToolButton2Click(Sender: TObject);
begin
with datamod do
begin
adochangebc.close;
adochangebc.CommandText:='select * from atd08010 ';
adochangebc.open;
adochangebcman.Close;
adochangebcman.CommandText:='select * from atd08011 where id=:id';
adochangebcman.Open;
end;
end;
procedure TFormchangebc.Edit1Exit(Sender: TObject);
begin
with datamod do
begin
adochangebc.close;
adochangebc.commandtext:='select a.* from atd08010 a left join atd08011 b on a.id=b.id left join per24010 d '+
' on d.workno=b.workno where (b.workno ='''+edit1.text+''' or a.operator='''+edit1.text+''' or d.name = '''+edit1.text+''') ';
adochangebc.open;
end;
end;
procedure TFormchangebc.MaskEdit2Exit(Sender: TObject);
var fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
with datamod do
begin
if maskedit2.text<>fmat1 then
if (not isdate(maskedit1.Text)) or (not isdate(maskedit2.Text)) then
begin
Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
maskedit1.SetFocus;
end
else begin
adochangebc.close;
adochangebc.commandtext:='select a.* from atd08010 a left join atd08011 b on a.id=b.id left join per24010 d '+
' on d.workno=b.workno where (b.workno ='''+edit1.text+''' or a.operator='''+edit1.text+''' or d.name = '''+edit1.text+''') and(startrq >= '''+maskedit1.text+''' and startrq<='''+maskedit2.text+''') ';
// adochangebc.commandtext:='select * from atd08010 where startrq >= '''+maskedit1.text+''' and startrq<='''+maskedit2.text+''' ';
adochangebc.open;
adochangebcman.close;
adochangebcman.open;
end;
end;
end;
procedure TFormchangebc.DateTimePicker1CloseUp(Sender: TObject);
begin
maskedit1.text:=datetostr(datetimepicker1.date);
end;
procedure TFormchangebc.DateTimePicker2CloseUp(Sender: TObject);
begin
maskedit2.text:=datetostr(datetimepicker2.date);
end;
procedure TFormchangebc.DBGrid2MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
dbgrid2.Hint:='本张单据共有'+inttostr(datamod.adochangebcman.RecordCount)+' 个人';
end;
procedure TFormchangebc.ToolButton3Click(Sender: TObject);
begin
panel5.Visible:=true;
datetimepicker3.SetFocus;
end;
procedure TFormchangebc.BitBtn1Click(Sender: TObject);
begin
panel5.Visible:=false;
datetimepicker3.DateTime:=now;
datetimepicker4.DateTime:=now;
label15.Visible:=false;
Animate1.Active:=false;
end;
procedure TFormchangebc.BitBtn2Click(Sender: TObject);
begin
if messagedlg('注意:移除前,请确认为已处理考勤的数据'+#13+'是否要进行移除',mtinformation,[mbyes,mbno],0)=mryes then
begin
Animate1.Active:=true;
adoquery1.Close;
adoquery1.SQL.Clear;
label15.Caption:='正在移除资料,请稍後........';
label15.Visible:=true;
label15.Update;
adoquery1.SQL.text:='exec [bk_changebc] ''1'','''+formatdatetime('yyyy/mm/dd',DateTimePicker3.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker4.datetime)+'''';
try
adoquery1.ExecSQL;
except
;
end;
label15.Caption:='移除完毕';
label15.Update;
datamod.ADOchangebc.Close;
datamod.ADOchangebc.Open;
datamod.ADOchangebcman.close;
datamod.ADOchangebcman.CommandText:='select atd08011.workno,b.name,b.sexname,b.prof,b.dept,atd08011.operator,atd08011.cdate from atd08011 left join per24010 b on b.workno=atd08011.workno where atd08011.operator=:operator';
datamod.adochangebcman.Open;
messagedlg('移除成功,谢谢使用!!!!',mtinformation,[mbok],0);
Animate1.Active:=false;
label15.Visible:=false;
end;
end;
procedure TFormchangebc.BitBtn3Click(Sender: TObject);
begin
if messagedlg('注意:还原资料,将删除现有的资料',mtinformation,[mbyes,mbno],0)=mryes then
begin
Animate1.Active:=true;
label15.Caption:='正在还原资料,请稍後.......';
label15.Visible:=true;
label15.Update;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.text:='exec [bk_changebc]''0'','''+formatdatetime('yyyy/mm/dd',DateTimePicker3.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker4.datetime)+'''';
try
adoquery1.ExecSQL;
except
;
end;
label15.Caption:='还原完毕';
label15.Update;
datamod.ADOchangebc.Close;
datamod.ADOchangebc.Open;
datamod.ADOchangebcman.close;
datamod.adochangebcman.Open;
messagedlg('还原成功,谢谢使用!!!!',mtinformation,[mbok],0);
Animate1.Active:=false;
label15.Visible:=false;
label15.Update;
end;
end;
procedure TFormchangebc.DBCheckBox15Click(Sender: TObject);
begin
if dbcheckbox15.checked then
dbcheckbox21.Checked:=false ;
end;
procedure TFormchangebc.DBCheckBox21Click(Sender: TObject);
begin
if dbcheckbox21.Checked then
dbcheckbox15.Checked:=false ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -