procedure TFrmMain.BtnQueryDutyClick(Sender: TObject);
var
strEmpID:String;
strDateStart,strDateEnd:String;
TblEmp:TTable;
begin
if DlgQueryDuty.ShowModal=mrOK then
begin
//查找是否存在该员工
TblEmp:=TTable.Create(self);
TblEmp.DatabaseName:='CompDuty';
TblEmp.TableName:='Employee';
TblEmp.Filtered:=True;
TblEmp.Filter:='Name='''+Trim(DlgQueryDuty.EditName.Text)+'''';
TblEmp.Open;
if TblEmp.Eof then
begin
Application.MessageBox('没有找到相应的员工!','系统提示');
Exit;//退出
end else
strEmpID:=TblEmp.FieldByName('ID').AsString;
TblEmp.Close;
strDateStart:=FormatDateTime('yyyy-mm-dd 00:00:00',DlgQueryDuty.DTPickerStart.Date);
strDateEnd:=FormatDateTime('yyyy-mm-dd 12:00:00',DlgQueryDuty.DTPickerEnd.Date); with FrmDutyQueryed.TblQuery do
begin
//如果表处于打开状态,先关闭它
if Active then
Active:=False;
Filter:='EmpID='+strEmpID+' and DutyDate >='''+strDateStart;
Filter:=Filter+''' and DutyDate <='''+strDateEnd+'''';
Filtered:=True;
Active:=True;
//查看是否找到相应的记录?如果找到,则显示这条记录
if not Eof then
begin
FrmDutyQueryed.LblQuery.Caption:='查询结果:出勤'+IntToStr(RecordCount)+'次';
FrmDutyQueryed.ShowModal;
end
else
Application.MessageBox('没有找到相应的出勤记录!','系统提示');
end;
end;
end;
一定给分,最快速度给分!!!
var
strEmpID:String;
strDateStart,strDateEnd:String;
TblEmp:TTable;
begin
if DlgQueryDuty.ShowModal=mrOK then
begin
//查找是否存在该员工
TblEmp:=TTable.Create(self);
TblEmp.DatabaseName:='CompDuty';
TblEmp.TableName:='Employee';
TblEmp.Filtered:=True;
TblEmp.Filter:='Name='''+Trim(DlgQueryDuty.EditName.Text)+'''';
TblEmp.Open;
if TblEmp.Eof then
begin
Application.MessageBox('没有找到相应的员工!','系统提示');
Exit;//退出
end else
strEmpID:=TblEmp.FieldByName('ID').AsString;
TblEmp.Close;
strDateStart:=FormatDateTime('yyyy-mm-dd 00:00:00',DlgQueryDuty.DTPickerStart.Date);
strDateEnd:=FormatDateTime('yyyy-mm-dd 12:00:00',DlgQueryDuty.DTPickerEnd.Date); with FrmDutyQueryed.TblQuery do
begin
//如果表处于打开状态,先关闭它
if Active then
Active:=False;
Filter:='EmpID='+strEmpID+' and DutyDate >='''+strDateStart;
Filter:=Filter+''' and DutyDate <='''+strDateEnd+'''';
Filtered:=True;
Active:=True;
//查看是否找到相应的记录?如果找到,则显示这条记录
if not Eof then
begin
FrmDutyQueryed.LblQuery.Caption:='查询结果:出勤'+IntToStr(RecordCount)+'次';
FrmDutyQueryed.ShowModal;
end
else
Application.MessageBox('没有找到相应的出勤记录!','系统提示');
end;
end;
end;
一定给分,最快速度给分!!!
strEmpID:String;
strDateStart,strDateEnd:String;
TblEmp:TTable;
begin
//DlgQueryDuty应该是一个对话框,其中的 EditName 是录入的员工姓名
if DlgQueryDuty.ShowModal=mrOK then //mrOK是对话框DlgQueryDuty 按确定返回
begin
//查找是否存在该员工
TblEmp:=TTable.Create(self); //动态创建TTable
TblEmp.DatabaseName:='CompDuty'; //TblEmp连接数据库别名 'CompDuty'
TblEmp.TableName:='Employee'; //TblEmp连接数据表 'Employee'
TblEmp.Filtered:=True; //TblEmp开启过滤
TblEmp.Filter:='Name='''+Trim(DlgQueryDuty.EditName.Text)+''''; //TblEmp过滤,条件是员工姓名为DlgQueryDuty.EditName.Text的 (Trim是取出字符串两头空格的)
TblEmp.Open; //TblEmp开启连接
if TblEmp.Eof then //判断TblEmp记录是否到尾,即判断是否为空
begin
Application.MessageBox('没有找到相应的员工!','系统提示');
Exit;//退出
end else
strEmpID:=TblEmp.FieldByName('ID').AsString; //获得当前员工的记录的ID
TblEmp.Close; //TblEmp断开连接
strDateStart:=FormatDateTime('yyyy-mm-dd 00:00:00',DlgQueryDuty.DTPickerStart.Date);
strDateEnd:=FormatDateTime('yyyy-mm-dd 12:00:00',DlgQueryDuty.DTPickerEnd.Date);
//两个时间条件
with FrmDutyQueryed.TblQuery do
begin
//如果表处于打开状态,先关闭它
if Active then
Active:=False;
Filter:='EmpID='+strEmpID+' and DutyDate >='''+strDateStart;
Filter:=Filter+''' and DutyDate <='''+strDateEnd+'''';
Filtered:=True; //过滤
Active:=True; //开启连接
//查看是否找到相应的记录?如果找到,则显示这条记录
if not Eof then
begin
FrmDutyQueryed.LblQuery.Caption:='查询结果:出勤'+IntToStr(RecordCount)+'次';
FrmDutyQueryed.ShowModal;
end
else
Application.MessageBox('没有找到相应的出勤记录!','系统提示');
end;
end;
end;