📄 uatterm.pas
字号:
//合同、日期到期表
unit UAtTerm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, dateutils, ComCtrls, StdCtrls, Buttons, DB,
ADODB, DBGridEh, dbgridehimpexp;
type
TForm_AtTerm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
StartDateTime: TDateTimePicker;
StopDateTime: TDateTimePicker;
Edit1: TEdit;
Edit2: TEdit;
SpeedButton1: TSpeedButton;
ADOQAtTerm: TADOQuery;
DS8: TDataSource;
DBGrid_Birthday: TDBGridEh;
DBGrid_bargain: TDBGridEh;
SBOutputExcel: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure StartDateTimeCloseUp(Sender: TObject);
procedure StopDateTimeCloseUp(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SBOutputExcelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_AtTerm: TForm_AtTerm;
implementation
uses Umain;
{$R *.dfm}
procedure TForm_AtTerm.FormShow(Sender: TObject);
begin
if pageControl1.ActivePageIndex = 0 then
begin
edit1.Text := inttostr(monthof(StartDateTime.Date)) + ' 月' + inttostr(dayof(StartDateTime.Date)) + ' 日';
edit2.Text := inttostr(monthof(StopDateTime.Date)) + ' 月' + inttostr(dayof(StopDateTime.Date)) + ' 日';
// showmessage(datetostr(StartDateTime.date));
//判断开始日期有没超过结束日期
if formatdatetime('mm-dd', StartDateTime.Date) < formatdatetime('mm-dd', StopDateTime.Date) then
begin
try
with ADOQAtTerm do
begin
close;
sql.Clear;
sql.Add('select Employee_id,Employee_Name,Employee_FirstDept,Employee_SecondDept,Employee_Duty,Employee_Birthday ');
sql.Add('From Employee');
sql.Add('Where right(Employee_Birthday,5)>''' + formatdatetime('mm-dd', StartDateTime.Date) + '''');
sql.Add('and right(Employee_Birthday,5)<''' + formatdatetime('mm-dd', StopDateTime.date) + '''');
open;
//showmessage(sql.Text);
exit;
end;
except
beep;
showmessage('打开职工表失败,请检查数据库文件是否完整');
end;
end
else
begin
try
with ADOQAtTerm do
begin
close;
sql.Clear;
sql.Add('select Employee_id,Employee_Name,Employee_FirstDept,Employee_SecondDept,Employee_Duty,Employee_Birthday ');
sql.Add('From Employee');
sql.Add('Where (right(Employee_Birthday,5)>=''' + formatdatetime('mm-dd', StartDateTime.Date) + '''');
sql.Add('and right(Employee_Birthday,5)<=''' + '12-31' + ''')');
sql.Add('or ( right(Employee_Birthday,5)>=''' + '01-01' + '''');
sql.Add('and right(Employee_Birthday,5)<=''' + formatdatetime('mm-dd', StopDateTime.Date) + ''')');
open;
//showmessage(sql.Text);
end;
except
beep;
showmessage('打开职工表失败,请检查数据库文件是否完整');
end;
end;
exit;
end;
if pageControl1.ActivePageIndex = 1 then
begin
edit1.Text := inttostr(yearof(StartDateTime.Date)) + ' 年' + inttostr(monthof(StartDateTime.Date)) + ' 月' + inttostr(dayof(StartDateTime.Date)) + ' 日';
edit2.Text := inttostr(yearof(StopDateTime.Date)) + ' 年' + inttostr(monthof(StopDateTime.Date)) + ' 月' + inttostr(dayof(StopDateTime.Date)) + ' 日';
// ShowMessage('开始连接');
try
with ADOQAtTerm do
begin
close;
sql.Clear;
sql.Add('select Employee_id,Employee_Name,Employee_FirstDept,Employee_SecondDept,Employee_Duty,Employee_Birthday,Employee_Bargainstart,Employee_Bargainstop ');
sql.Add('From Employee');
sql.Add('Where Employee_bargainstop > ''' + formatdatetime('yyyy-mm-dd', StartDateTime.Date) + '''');
sql.Add('AND Employee_bargainstart <''' + formatdatetime('yyyy-mm-dd', StopDateTime.Date) + '''');
open;
end;
except
beep;
showmessage('打开职工表失败,请检查数据库文件是否完整');
end;
end;
end;
procedure TForm_AtTerm.PageControl1Change(Sender: TObject);
begin
FormShow(Sender);
end;
procedure TForm_AtTerm.StartDateTimeCloseUp(Sender: TObject);
begin
if pageControl1.ActivePage = tabsheet1 then
begin
edit1.Text := inttostr(monthof((StartDateTime.Date))) + ' 月' + inttostr(dayof((StartDateTime.Date))) + ' 日';
end
else
begin
edit1.Text := inttostr(yearof((StartDateTime.Date))) + ' 年' + inttostr(monthof((StartDateTime.Date))) + ' 月' + inttostr(dayof((StartDateTime.Date))) + ' 日';
end;
end;
procedure TForm_AtTerm.StopDateTimeCloseUp(Sender: TObject);
begin
if pageControl1.ActivePage = tabsheet1 then
begin
edit2.Text := inttostr(monthof((StopDateTime.Date))) + ' 月' + inttostr(dayof((StopDateTime.Date))) + ' 日';
end
else
begin
edit2.Text := inttostr(yearof((StopDateTime.Date))) + ' 年' + inttostr(monthof((StopDateTime.Date))) + ' 月' + inttostr(dayof((StopDateTime.Date))) + ' 日';
end;
end;
procedure TForm_AtTerm.SpeedButton1Click(Sender: TObject);
begin
FormShow(Sender);
end;
procedure TForm_AtTerm.FormCreate(Sender: TObject);
begin
//初始化日期
StartDateTime.DateTime := (now - 7);
StopDateTime.DateTime := now;
end;
procedure TForm_AtTerm.SBOutputExcelClick(Sender: TObject);
var ExpClass: TDBGridEhExportClass;
Ext: string;
begin
if ADOQAtTerm.RecordCount = 0 then
begin
beep;
showmessage('当前没有任何记录!');
exit;
end;
if pageControl1.ActivePageIndex = 0 then
begin
Form_main.SaveDialog1.FileName := 'file1';
if Form_main.SaveDialog1.Execute then
begin
case Form_main.SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(Form_main.SaveDialog1.FileName, Length(Form_main.SaveDialog1.FileName) - 2, 3)) <>
UpperCase(Ext) then
Form_main.SaveDialog1.FileName := Form_main.SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass, DBGrid_Birthday,
Form_main.SaveDialog1.FileName, true);
end;
end;
exit;
end;
if pageControl1.ActivePageIndex = 1 then
begin
Form_main.SaveDialog1.FileName := 'file1';
if Form_main.SaveDialog1.Execute then
begin
case Form_main.SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(Form_main.SaveDialog1.FileName, Length(Form_main.SaveDialog1.FileName) - 2, 3)) <>
UpperCase(Ext) then
Form_main.SaveDialog1.FileName := Form_main.SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass, DBGrid_bargain,
Form_main.SaveDialog1.FileName, true);
end;
end;
exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -