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

📄 hm_roll.pas

📁 本课题是为企业人事管理提供现代化技术支持的管理信息系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit hm_roll;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, ComCtrls, ExtCtrls, DB, ADODB, Grids, DBGrids;

type
  Thm_rollForm = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    SpeedButton1: TSpeedButton;
    Label2: TLabel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Label4: TLabel;
    Label5: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    DBGrid1: TDBGrid;
    Edit6: TEdit;
    Edit7: TEdit;
    TabSheet2: TTabSheet;
    DBGrid2: TDBGrid;
    TabSheet3: TTabSheet;
    DBGrid3: TDBGrid;
    Label8: TLabel;
    Label9: TLabel;
    Edit11: TEdit;
    Label10: TLabel;
    Edit12: TEdit;
    Label11: TLabel;
    Label12: TLabel;
    Edit14: TEdit;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Label13: TLabel;
    Edit15: TEdit;
    Label14: TLabel;
    Edit16: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    Edit19: TEdit;
    Label17: TLabel;
    Label18: TLabel;
    Edit20: TEdit;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    ADOQuery4: TADOQuery;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    DateTimePicker5: TDateTimePicker;
    DateTimePicker6: TDateTimePicker;
    Edit13: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure DBGrid3CellClick(Column: TColumn);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit6Exit(Sender: TObject);
    procedure Edit11Exit(Sender: TObject);
    procedure Edit15Exit(Sender: TObject);
    procedure ADOQuery1AfterOpen(DataSet: TDataSet);
    procedure ADOQuery1AfterScroll(DataSet: TDataSet);
    procedure ADOQuery2AfterScroll(DataSet: TDataSet);
    procedure ADOQuery2AfterOpen(DataSet: TDataSet);
    procedure ADOQuery3AfterOpen(DataSet: TDataSet);
    procedure ADOQuery3AfterScroll(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
  private
    procedure page1Data;
    procedure page2Data;
    procedure page3Data;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  hm_rollForm: Thm_rollForm;
  itemstr:string;

implementation

uses hm_main, hm_login;

{$R *.dfm}

//--------------窗口生成时,对普通用户封锁编辑类选项-------------
procedure Thm_rollForm.FormCreate(Sender: TObject);
begin
  if hm_loginForm.idright < 2 then
  begin
     SpeedButton2.Enabled:=false;
     SpeedButton3.Enabled:=false;
     SpeedButton4.Enabled:=false;
  end;
  SpeedButton1Click(nil);
end;

//--------考勤信息窗口关闭时,显示主窗口--------------
procedure Thm_rollForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    hm_mainForm.Visible:=true;
end;

//---------------关联查询,提取员工考勤,加班,出差信息
procedure Thm_rollForm.SpeedButton1Click(Sender: TObject);
var
tempstr:string;
begin
    tempstr:='';
    //是否有员工编号限定
    if CheckBox1.Checked  and (trim(Edit1.Text)<>'') then
    begin
        tempstr:= tempstr+' and 员工编号 = '+ QuotedStr(trim(Edit1.Text));
    end;
    //是否有员工姓名限定
    if CheckBox2.Checked  and (trim(Edit2.Text)<>'') then
    begin
        tempstr:= tempstr+' and 姓名 = '''+ trim(Edit2.Text)+'''';
    end;
    //是否有时间范围限定
    if CheckBox3.Checked then
    begin
        if (trim(Edit3.Text)<>'') then
        begin
            ShowMessage(datetostr(strtodate(trim(Edit3.Text))));
            tempstr:= tempstr+' and 日期 >= CONVERT(DATETIME, '''+datetostr(strtodate(trim(Edit3.Text)))+' 00:00:00'', 102)';
        end;
        if (trim(Edit4.Text)<>'') then
        begin
            ShowMessage(datetostr(strtodate(trim(Edit4.Text))));
            tempstr:= tempstr+' and 日期 < CONVERT(DATETIME, '''+datetostr(strtodate(trim(Edit4.Text)))+' 00:00:00'', 102)';
        end;
    end;
    //从日常考勤表提取信息
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text := 'select * from 日常考勤 where 条目号 >0' +tempstr;
    //从加班信息表提取信息
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Text := 'select * from 加班信息 where 条目号 >0' +tempstr;
    //从出差信息表提取信息
    ADOQuery3.Close;
    ADOQuery3.SQL.Clear;
    ADOQuery3.SQL.Text := 'select * from 出差信息 where 条目号 >0' +tempstr;
    //执行
    ADOQuery1.Open;
    ADOQuery2.Open;
    ADOQuery3.Open;
end;

//--------点击日常考勤表时,显示详细信息-------------
procedure Thm_rollForm.DBGrid1CellClick(Column: TColumn);
begin
  page1Data;
end;

//--------点击加班信息表时,显示详细信息-------------
procedure Thm_rollForm.DBGrid2CellClick(Column: TColumn);
begin
  page2Data;
end;

//--------点击出差信息表时,显示详细信息-------------
procedure Thm_rollForm.DBGrid3CellClick(Column: TColumn);
begin
  page3Data;
end;

//------------清掉输入的关键词
procedure Thm_rollForm.CheckBox1Click(Sender: TObject);
begin
    Edit1.Clear;
end;
//------------清掉输入的关键词
procedure Thm_rollForm.CheckBox2Click(Sender: TObject);
begin
    Edit2.Clear;
end;
//------------清掉输入的关键词
procedure Thm_rollForm.CheckBox3Click(Sender: TObject);
begin
    Edit3.Clear;
    Edit4.Clear;
end;

//-------------日常考勤TabSheet1显示时,清除显示的信息
procedure Thm_rollForm.TabSheet1Show(Sender: TObject);
begin
    //Edit5.Clear;
    //Edit6.Clear;
    //Edit7.Clear;
    //Edit8.Clear;
    //Edit9.Clear;
end;
//-------------加班信息TabSheet2显示时,清除显示的信息
procedure Thm_rollForm.TabSheet2Show(Sender: TObject);
begin
    //Edit10.Clear;
    Edit11.Clear;
    Edit12.Clear;
    Edit13.Clear;
    Edit14.Clear;
end;
//-------------出差信息TabSheet3显示时,清除显示的信息
procedure Thm_rollForm.TabSheet3Show(Sender: TObject);
begin
    Edit15.Clear;
    Edit16.Clear;
    //Edit17.Clear;
    //Edit18.Clear;
    Edit19.Clear;
    Edit20.Clear;
end;
//------------------选择修改--------------------
procedure Thm_rollForm.SpeedButton2Click(Sender: TObject);
var
  bEdit: Boolean;
begin
  bEdit := False;
  Case PageControl1.ActivePageIndex of
    0: begin
      if ADOQuery1.Active then
        bEdit := ADOQuery1.RecordCount > 0;
    end;
    1: begin
      if ADOQuery2.Active then
        bEdit := ADOQuery2.RecordCount > 0;
    end;
    2: begin
      if ADOQuery3.Active then
        bEdit := ADOQuery3.RecordCount > 0;
    end;
  end;
  if bEdit then
  begin
    SpeedButton5.Visible:=true;
    SpeedButton6.Visible:=true;
    SpeedButton3.Enabled:=false;
    SpeedButton4.Enabled:=false;
  end;
end;
//------------------选择添加--------------------
procedure Thm_rollForm.SpeedButton3Click(Sender: TObject);
var
  bAppend: Boolean;
begin
  bAppend := False;
  Case PageControl1.ActivePageIndex of
    0: bAppend := ADOQuery1.Active ;
    1: bAppend := ADOQuery2.Active ;
    2: bAppend := ADOQuery3.Active ;
  end;
  if bAppend then
  begin
    SpeedButton5.Visible:=true;
    SpeedButton6.Visible:=true;
    SpeedButton2.Enabled:=false;
    SpeedButton4.Enabled:=false;
  end;
end;
//---------------------选择清除--------------
procedure Thm_rollForm.SpeedButton4Click(Sender: TObject);
var
  bDelete: Boolean;
begin
  bDelete := False;
  Case PageControl1.ActivePageIndex of
    0: begin
      if ADOQuery1.Active then
      begin
        bDelete := ADOQuery1.RecordCount > 0;
        itemstr := Trim(ADOQuery1.FieldbyName('条目号').AsString);
      end;
    end;
    1: begin
      if ADOQuery2.Active then
      begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -