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

📄 u_rsgl.pas

📁 小型劳资管理系统,用visual basic+access编写
💻 PAS
字号:
unit U_RSGL;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Db, Menus, Buttons;

type
  TF_RSGL = class(TForm)
    StatusBar1: TStatusBar;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    DBGrid3: TDBGrid;
    DBGrid2: TDBGrid;
    Splitter1: TSplitter;
    Active_ds: TDataSource;
    Label1: TLabel;
    Edit1: TEdit;
    SpeedButton1: TSpeedButton;
    Label2: TLabel;
    Edit2: TEdit;
    SpeedButton2: TSpeedButton;
    DataSource1: TDataSource;
    Bevel1: TBevel;
    Label3: TLabel;
    DBNavigator1: TDBNavigator;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid2Enter(Sender: TObject);
    procedure DBGrid1Enter(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_RSGL: TF_RSGL;

implementation

uses U_RS_DM, U_addemp, U_empbase, U_empteams, U_public, U_okbtndlg;

{$R *.DFM}

procedure TF_RSGL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  RS_DM.Q_employees.close;
  RS_DM.Q_empdata.close;
  RS_DM.T_ejbm.close;
  RS_DM.T_yjbm.close;
  Action:=caFree;
end;

procedure TF_RSGL.FormCreate(Sender: TObject);
begin
height:=280;
width:=517;
  rs_dm.T_yjbm.Open;
  rs_dm.T_ejbm.open;
  Active_ds.DataSet:=rs_dm.T_yjbm;
end;

procedure TF_RSGL.DBGrid2Enter(Sender: TObject);
begin
  Active_ds.DataSet:=rs_dm.T_ejbm;
end;

procedure TF_RSGL.DBGrid1Enter(Sender: TObject);
begin
  Active_ds.DataSet:=rs_dm.T_yjbm;
end;

procedure TF_RSGL.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    if RS_DM.T_yjbm.FieldByName('yjbm_name').asstring<>'' then
      begin
        RS_DM.T_yjbm.Refresh;
        RS_DM.T_yjbm.Append;
      end;
end;

procedure TF_RSGL.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    if RS_DM.T_ejbm.FieldByName('ejbm_name').asstring<>'' then
      begin
       RS_DM.T_ejbm.Refresh;
       RS_DM.T_ejbm.append;
      end;
end;

procedure TF_RSGL.SpeedButton1Click(Sender: TObject);
begin
  if Length(Edit1.text)<>6 then begin showmessage('请输入正确的工号!');exit; end;
  with RS_DM.Q_temp1 do
    begin
      close;
      sql.Clear;
      sql.Add('select * from empdata where work_num='+''''+Edit1.text+'''');
      open;
    end;
 if RS_DM.Q_temp1.RecordCount=0 then begin showmessage('没有记录的数据!');exit;end;
 if messageDlg('你的确要删除'+RS_DM.Q_temp1.fieldbyname('name').asstring+'吗?',mtconfirmation,[mbyes,mbno],0)=mrNo then exit;
  with RS_DM.Q_temp do
    begin
      close;
      sql.Clear;
      sql.Add('delete from empdata where work_num='+''''+Edit1.text+'''');
      execsql;
    end;
    edit1.Text:='';
    showmessage('已成功删除此员工的记录数据!!!');
end;

procedure TF_RSGL.SpeedButton2Click(Sender: TObject);
begin
  if Length(Edit2.text)<>6 then begin showmessage('请输入正确的工号!');exit; end;
  with RS_DM.Q_temp do
    begin
      close;
      sql.Clear;
      sql.Add('select * from empdata where work_num='+''''+Edit2.text+'''');
      open;
    end;
  if RS_DM.Q_temp.RecordCount=0 then begin showmessage('没有记录数据');exit;end;
  if messageDlg('你的确要把'+RS_DM.Q_temp.fieldbyname('name').asstring+'更换到"'+RS_DM.T_yjbm.fieldbyname('yjbm_name').asstring+
  '->'+RS_DM.T_ejbm.FieldByName('ejbm_name').asstring+
  '"吗?',mtconfirmation,[mbyes,mbno],0)=mrNo then exit;
  RS_DM.Q_temp.Edit;
  RS_DM.Q_temp.FieldByName('dep_id').asstring:=RS_DM.T_ejbm.FieldByName('ejbm_id').asstring;
  RS_DM.Q_temp.Post;


     edit2.Text:='';
  if messageDlg('你已成功调换部门,是否现在为此员工排班?',mtconfirmation,[mbyes,mbno],0)=mrNo then exit;
    if F_empteams=nil then
    F_empteams:=TF_empteams.Create(self);
    F_empteams.Show;

end;

procedure TF_RSGL.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  statusbar1.Panels[1].text:='一级部门人数:'+inttostr(RS_dm.empyjnum)+'--二级部门人数:'+inttostr(RS_dm.empejnum)+'--员工总数:'+inttostr(rs_dm.emptotal);
end;

procedure TF_RSGL.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13)and(length(Edit1.text)=6) then Speedbutton1click(self);
end;

procedure TF_RSGL.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13)and(length(Edit2.text)=6) then Speedbutton2click(self);
end;

procedure TF_RSGL.FormShow(Sender: TObject);
begin
  RS_DM.Q_empdata.open;
  RS_DM.Q_employees.open;
  with RS_DM.Q_temp do
    begin
      close;
      sql.Clear;
      sql.Add('select * from empdata');
      open;
    end;
  RS_DM.emptotal:=RS_DM.Q_temp.RecordCount;
end;

procedure TF_RSGL.FormDestroy(Sender: TObject);
begin
  F_rsgl:=nil;
end;

end.

⌨️ 快捷键说明

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