📄 empsave.pas
字号:
unit empsave;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, Buttons, Mask, Grids, DBGrids, RXDBCtrl, ImgList,
ComCtrls, ToolWin, ExtCtrls, Db, ADODB, Menus, ppDB, ppCtrls, ppBands,
myChkBox, ppStrtch, ppMemo, ppVar, ppPrnabl, ppClass, ppCache, ppProd,
ppReport, ppComm, ppRelatv, ppDBPipe, ppDBBDE;
type
TFormempsave = class(TForm)
Label7: TLabel;
Panel1: TPanel;
ImageList1: TImageList;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
DBGrid1: TDBGrid;
N5: TMenuItem;
ToolBar1: TToolBar;
tbnsort: TToolButton;
tbnfind: TToolButton;
tbnprint: TToolButton;
TBEXIT: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton22: TToolButton;
ppBDEPipeline1: TppBDEPipeline;
ppReport1: TppReport;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
ppTitleBand1: TppTitleBand;
ppLabel1: TppLabel;
ppDBText1: TppDBText;
ppLabel2: TppLabel;
ppDBText2: TppDBText;
ppLabel3: TppLabel;
ppDBText3: TppDBText;
ppLabel4: TppLabel;
ppDBText4: TppDBText;
ppLabel5: TppLabel;
ppDBText5: TppDBText;
ppLabel6: TppLabel;
ppDBText6: TppDBText;
ppLabel7: TppLabel;
ppDBText7: TppDBText;
ppLabel8: TppLabel;
ppDBText8: TppDBText;
ppLabel9: TppLabel;
ppDBText9: TppDBText;
ppLabel10: TppLabel;
ppDBText10: TppDBText;
ppLabel11: TppLabel;
ppLabel12: TppLabel;
ppDBText12: TppDBText;
ppLabel13: TppLabel;
ppDBText13: TppDBText;
ppLabel14: TppLabel;
ppDBText14: TppDBText;
ppLabel15: TppLabel;
ppDBText15: TppDBText;
ppLabel16: TppLabel;
ppDBMemo1: TppDBMemo;
ppLabel17: TppLabel;
ppDBText16: TppDBText;
ppLabel18: TppLabel;
ppDBText17: TppDBText;
ppLabel19: TppLabel;
ppDBText18: TppDBText;
ppLabel20: TppLabel;
ppDBText19: TppDBText;
ppLabel21: TppLabel;
ppDBText20: TppDBText;
ppLabel22: TppLabel;
ppDBText21: TppDBText;
ppLabel23: TppLabel;
ppDBText22: TppDBText;
ppLabel24: TppLabel;
ppDBText23: TppDBText;
ppLabel25: TppLabel;
ppLine1: TppLine;
ppSummaryBand1: TppSummaryBand;
ppLabel53: TppLabel;
ppLabel54: TppLabel;
ppSystemVariable5: TppSystemVariable;
ppLabel55: TppLabel;
ppLabel56: TppLabel;
ppSystemVariable6: TppSystemVariable;
ppLabel57: TppLabel;
ppLabel67: TppLabel;
ppDBCalc4: TppDBCalc;
ppLabel68: TppLabel;
ppLine8: TppLine;
ppDBText11: TppDBText;
ToolButton1: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure tbnfindClick(Sender: TObject);
procedure RxDBGrid1TitleClick(Column: TColumn);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure FormActivate(Sender: TObject);
procedure TBEXITClick(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure ToolButton14Click(Sender: TObject);
procedure ToolButton15Click(Sender: TObject);
procedure ToolButton16Click(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ppReport1BeforePrint(Sender: TObject);
procedure tbnprintClick(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
f:string;
public
{ Public declarations }
end;
var
Formempsave: TFormempsave;
implementation
uses formzonghe, empset, datamol,publicfunction,main;
{$R *.DFM}
procedure TFormempsave.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
setdbgridwidth(dbgrid1,'p'+'empsave');
formempsave:=nil;
action:=cafree;
end;
procedure TFormempsave.FormCreate(Sender: TObject);
var i:double;
begin
// datamod.ADOempsave.Close;
// datamod.ADOempsave.CursorType :=ctKeyset;
// datamod.ADOempsave.LockType :=ltpessimistic;
// datamod.adoempsave.open;
with datamod.ADOQuery1 do
begin
close;
sql.Clear;
sql.add('select * from emp07010 where ifok=0 and cdate<='''+datetostr(date+7)+''' ');
open;
if not eof then
begin
datamod.adoquery2.Close;
datamod.adoquery2.SQL.Clear;
datamod.adoquery2.SQL.add('select isnull(max([id]),0) as mx from emp08010');
datamod.adoquery2.open;
end;
if not datamod.adoquery2.eof then
if datamod.adoquery2.FieldByName('mx').asinteger>0 then
begin
i:=datamod.adoquery2.fieldbyname('mx').asinteger;
datamod.adoquery2.close;
end;
while not eof do
begin
i:=i+1;
datamod.ADOQuery2.Close;
datamod.ADOQuery2.SQL.Clear;
datamod.ADOQuery2.SQL.Add ('insert emp08010 values('''+floattostr(i)+''','''+fieldbyname('faceno').asstring+''','''+fieldbyname('facerq').asstring+''',' +
' '''+fieldbyname('reqprof').asstring+''','''+fieldbyname('reqdept').asstring+''','''+fieldbyname('masterface').asstring+''','''+fieldbyname('secondface').asstring+''',' +
' '''+fieldbyname('empno').asstring+''','''+fieldbyname('name').asstring+''','''+fieldbyname('sex').asstring+''','''+fieldbyname('blood').asstring+''','''+fieldbyname('marry').asstring+''' ,' +
' '''+fieldbyname('province').asstring+''','''+fieldbyname('address').asstring+''','''+fieldbyname('peopleid').asstring+''','''+fieldbyname('reladd').asstring+''','+
' '''+fieldbyname('reltel').asstring+''','''+fieldbyname('age').asstring+''','''+fieldbyname('expe').asstring+''','''+fieldbyname('empprof').asstring+''','''+fieldbyname('factprof').asstring+''','+
' '''+fieldbyname('source').asstring+''','''+fieldbyname('introduce').asstring+''','''+fieldbyname('degree').asstring+''','+fieldbyname('wantmoney').asstring+','+fieldbyname('factmoney').asstring+','+
' '''+fieldbyname('factprof').asstring+''','''+fieldbyname('memo').asstring+''','''+fieldbyname('operator').asstring+''','''+fieldbyname('cdate').asstring+''') ');
datamod.adoquery2.ExecSQL;
datamod.adoquery2.close;
next;
end;
close;
sql.clear;
sql.add('delete emp07010 where ifok=0 and cdate<='''+datetostr(date+7)+''' ');
execsql;
Close;
SQL.Clear;
SQL.Add('truncate table emp08010');
SQL.Add(' insert into emp08010(faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate) '+
' select faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID '+
' ,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate from emp07010 where [save]=1');
ExecSQL;
datamod.adoempsave.Close;
datamod.ADOempsave.CursorType :=ctKeyset;
datamod.ADOempsave.LockType :=ltpessimistic;
datamod.adoempsave.open;
Close;
end;
end;
procedure TFormempsave.tbnfindClick(Sender: TObject);
begin
findrecorder(datamod.adoempsave,'Adoempsave','emp08010'); //调用publicfuction中的查询功能
end;
procedure TFormempsave.RxDBGrid1TitleClick(Column: TColumn);
begin
if not manyfield then
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOempface.Sort :=column.FieldName+' '+f;
end;
end;
procedure TFormempsave.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 TFormempsave.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 TFormempsave.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 TFormempsave.N4Click(Sender: TObject);
var i:1..5;
sortexp:string;
begin
sortexp:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
sortexp :=sortexp+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then sortexp:=sortexp+',';
end;
end;
if sortexp<>'' then datamod.ADOempsave.sort:=sortexp;
end;
procedure TFormempsave.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormempsave.DBGrid1TitleClick(Column: TColumn);
begin
if not manyfield then
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOempsave.Sort :=column.FieldName+' '+f;
end;
end;
procedure TFormempsave.FormActivate(Sender: TObject);
begin
getdbgridwidth(dbgrid1,'p'+'empsave');
end;
procedure TFormempsave.TBEXITClick(Sender: TObject);
begin
close;
end;
procedure TFormempsave.ToolButton13Click(Sender: TObject);
begin
datamod.ADOempsave.First;
end;
procedure TFormempsave.ToolButton14Click(Sender: TObject);
begin
datamod.ADOempsave.Prior;
end;
procedure TFormempsave.ToolButton15Click(Sender: TObject);
begin
datamod.ADOempsave.Next;
end;
procedure TFormempsave.ToolButton16Click(Sender: TObject);
begin
datamod.Adoempsave.Last;
end;
procedure TFormempsave.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0049');
end;
end;
procedure TFormempsave.ppReport1BeforePrint(Sender: TObject);
begin
pplabel57.caption:=companyname1;
pplabel55.caption:='制表人:'+pubworkname;
end;
procedure TFormempsave.tbnprintClick(Sender: TObject);
begin
ppreport1.devicetype:='Screen';
ppreport1.print;
end;
procedure TFormempsave.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormempsave.ToolButton1Click(Sender: TObject);
begin
with datamod do
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('truncate table emp08010');
adoquery1.SQL.Add(' insert into emp08010(faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate) '+
' select faceno,facerq,reqprof,reqdept,masterface,secondface,empno,name,sex,blood,marry,province,address,peopleID '+
' ,reladd,reltel,age,expe,empprof,source,introduce,degree,special,wantmoney,factmoney,factprof,memo,operator,cdate from emp07010 where [save]=1');
adoquery1.ExecSQL;
adoquery1.Close;
adoempsave.Close;
adoempsave.CommandText:='select * from emp08010';
adoempsave.Open;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -