【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了checkhold.pas相关资料,希望对各位网友有所帮助!
unit checkhold;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids, DBClient,checkinfo_unit,
basedata_unit,ComCtrls;
type
Tcheckfindfrm = class(TForm)
Label1: TLabel;
Bevel1: TBevel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Edit3: TEdit;
all_btn: TButton;
one_btn: TButton;
checkfind_ds1: TDataSource;
DBGrid1: TDBGrid;
checkfind_cds1: TClientDataSet;
Comb1: TComboBox;
DateTimePicker2: TDateTimePicker;
HoldBtn: TButton;
procedure cancel_btnClick(Sender: TObject);
procedure all_btnClick(Sender: TObject);
procedure one_btnClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Comb1Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure HoldBtnClick(Sender: TObject);
private
checkinfo:Tcheckinfo;
basedata:Tbasedata;
{ Private declarations }
public
{ Public declarations }
end;
var
checkfindfrm: Tcheckfindfrm;
implementation
uses baseinputUnit1, checkinput;
{$R *.dfm}
procedure Tcheckfindfrm.cancel_btnClick(Sender: TObject);
begin
edit2.Text :='';edit3.Text :='';
checkfindfrm.Close;
end;
procedure Tcheckfindfrm.all_btnClick(Sender: TObject);
var
allsql:string;
begin
//赋值查询语句
allsql:='select WORKER_ID 员工编号,WORKER_NAME 员工,'
+'MONTHS 月份,MONTH_DAYS 本月天数,BUSINESS_DAYS 出差天数,'
+'ABSENT_DAYS 旷工天数,HOLIDAYS 公休假天数,REAL_WORK_DAYS '
+'应出勤天数,WORK_DAYS 出勤天数,LEAVE_TIMES 请假次数,LATE_TIMES'
+' 迟到次数,LEAVE_EARLY_TIMES 早退次数,HOLIDAY_OVERTIME '
+'节假日加班时间,OTHER_OVERTIME 其它加班时间,'
+'REMARK 备注 from CHECK_INFO';
//显示所有查询记录
checkfind_cds1.Data :=checkinfo.CheckInfoRecs(allsql);
end;
procedure Tcheckfindfrm.one_btnClick(Sender: TObject);
var
sql:string;
begin
//判断是否输入关键字
if (Comb1.Text ='') or (edit3.Text='') then
begin
showmessage('请输入员工编号和月份编号进行查询!');
exit;
end;
//调用类中查询方法判断考勤记录是否存在
if checkinfo.CheckInfoRec(Comb1.Text,edit3.Text)=false then
begin
showmessage('该考勤记录不存在!');
exit;
end;
//赋值查询语句
sql:='select WORKER_ID 员工编号,WORKER_NAME 员工,'
+'MONTHS 月份,MONTH_DAYS 本月天数,BUSINESS_DAYS 出差天数,'
+'ABSENT_DAYS 旷工天数,HOLIDAYS 公休假天数,REAL_WORK_DAYS '
+'应出勤天数,WORK_DAYS 出勤天数,LEAVE_TIMES 请假次数,'
+'LATE_TIMES 迟到次数,LEAVE_EARLY_TIMES 早退次数,'
+'HOLIDAY_OVERTIME 节假日加班时间,OTHER_OVERTIME 其它加班时间,'
+'REMARK 备注 from CHECK_INFO where WORKER_ID='''+Comb1.Text+''' '
+'and months='''+edit3.Text+'''';
//调用查询方法将记录在列表中显示出来
checkfind_cds1.Data :=checkinfo.CheckInfoRecs(sql);
end;
procedure Tcheckfindfrm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//释放类的实例
checkinfo.Free;
basedata.Free;
//清除加载的内容
Comb1.Clear;edit2.Text:='';edit3.Text:='';
end;
procedure Tcheckfindfrm.Comb1Change(Sender: TObject);
begin
edit2.Text :=basedata.GetWorkerName(Comb1.Text);
end;
procedure Tcheckfindfrm.FormActivate(Sender: TObject);
begin
//创建类的实例
basedata:=Tbasedata.create ;
checkinfo:=Tcheckinfo.create ;
//获取员工编号列表
Comb1.Items:=basedata.GetIdLists();
end;
procedure Tcheckfindfrm.DateTimePicker2Change(Sender: TObject);
var
Time1:string;
begin
Time1:=formatdatetime('yyyymmdd',DateTimePicker2.DateTime);
edit3.Text:=copy(Time1,1,6);
end;
procedure Tcheckfindfrm.DBGrid1CellClick(Column: TColumn);
begin
try
//将员工编号和月份编号传递到考勤编辑界面
checkinputfrm.IdComb.Text:=DBGrid1.Fields[0].AsString;
checkinputfrm.Edit3.Text:=DBGrid1.Fields[2].AsString;
except
exit;
end;
end;
procedure Tcheckfindfrm.HoldBtnClick(Sender: TObject);
begin
//显示考勤信息编辑窗体
checkinputfrm.ShowModal;
end;
end.
上一篇:
CheckCardForm.pas
下一篇:
月入5000,你有什么资格谈生活