⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uatterm.pas

📁 说明: 比较简单的人事档案管理程序,包含了人事档案的大部分功能,做人事档案的兄弟可以看看. 本程序类型:delphi7 + Access2000 桌面数据库 初始用户名/密码:admin
💻 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 + -