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

📄 u_bmxx.pas

📁 人力资源管理系统自动计算员工工资。自动生成员工工资报表。实现员工岗位调动操作。实现员工离职、复职操作。支持数据的模糊查询机制。运行环境 操作系统:Windows 2000/NT/XP/ME 开发工
💻 PAS
字号:
unit U_bmxx;

interface

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

type
  Tfrm_bmxx = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Label1: TLabel;
    DataSource1: TDataSource;
    Label2: TLabel;
    Edit2: TEdit;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure editvalue;
    procedure editclear;
    procedure DBGrid1CellClick(Column: TColumn);
    procedure SpeedButton2Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
    m:integer;
  end;
  const
  m=0;
var
  frm_bmxx: Tfrm_bmxx;

implementation

uses U_data;

{$R *.dfm}

procedure Tfrm_bmxx.SpeedButton1Click(Sender: TObject);
var
s,m:string;
i:integer;
begin
edit1.Clear;
edit2.Clear;
  With data1.ADOpublic do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(部门编号) as ss From 部门表 ');
    Open;
  end;
If data1.ADOpublic.FieldByName('ss').Value = null then
    s := '001'
  else
  begin
    m:= Trim(data1.ADOpublic.FieldByName('ss').Value) ;
    i:= StrToInt(copy(m,2,3)) ;
    if i<9 then
      s:= '00'+ InttoStr(i +1)
    else if i<99 then
      s:='0'+ InttoStr(i +1)
    else
      s:= InttoStr(i +1);
  end;
  edit1.Text:=s;
speedbutton4.Enabled:=true;
speedbutton5.Enabled:=true;
edit2.ReadOnly:=false;
speedbutton2.Enabled:=false;
end;

procedure Tfrm_bmxx.SpeedButton3Click(Sender: TObject);
begin
with data1.ADOQYygxx do
   begin
      close;
      sql.Clear;
      sql.Add('select ssbm from 人事表 where ssbm = :a');
      parameters.ParamByName('a').Value:=trim(edit2.Text);
      open;
   end;
if data1.ADOQYygxx.RecordCount>0 then
   application.MessageBox('此信息已经使用,不能删除!','警告',64)
else
if messagebox(self.Handle,'真的要删除吗?','提示',mb_yesno+mb_iconquestion)=idyes then
begin
data1.ADOQYbmxx.Delete;
edit1.Clear;
edit2.Clear;
end;
end;

procedure Tfrm_bmxx.SpeedButton5Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit1.ReadOnly:=true;
edit1.ReadOnly:=true;
speedbutton4.Enabled:=false;
speedbutton5.Enabled:=false;
speedbutton2.Enabled:=true;
m:=0;
end;

procedure Tfrm_bmxx.SpeedButton6Click(Sender: TObject);
begin
close;
end;

procedure Tfrm_bmxx.FormShow(Sender: TObject);
begin
   with data1.ADOQYbmxx do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 部门表');
      open;
   end;
   data1.ADOQYbmxx.Active:=true;
   if data1.ADOQYbmxx.FieldByName('部门编号').Value= null then
      begin
      application.MessageBox('数据库中没有数据,请添加数据!','提示',64);
      speedbutton1.Click;
      end 
end;

procedure Tfrm_bmxx.editvalue;
begin
   edit1.Text:=data1.ADOQYbmxx.FieldByName('部门编号').Value;
   edit2.Text:=data1.ADOQYbmxx.FieldByName('部门名称').Value;
end;

procedure Tfrm_bmxx.editclear;
begin
   edit1.Clear;
   edit2.Clear;
end;

procedure Tfrm_bmxx.SpeedButton4Click(Sender: TObject);
begin
if trim(edit1.Text)<>'' then
   if trim(edit2.Text)<>'' then
   if m=0 then
   try
   with data1.ADOQYbmxx do
      begin
         close;
         sql.Clear;
         sql.Add('insert 部门表 values (:a,:b)');
         parameters.ParamByName('a').Value:=trim(edit1.Text);
         parameters.ParamByName('b').Value:=trim(edit2.Text);
         execsql;
      end;
         edit1.ReadOnly:=true;
         edit2.ReadOnly:=true;
         speedbutton4.Enabled:=false;
         speedbutton5.Enabled:=false;
         speedbutton2.Enabled:=true;
         self.OnShow(sender);
   except
      application.MessageBox('系统出错!','警告',64);
   end
   else  
      begin
      with data1.ADOQYbmxx do
         begin
            edit;
            fieldbyname('部门编号').Value:=trim(edit1.Text);
            fieldbyname('部门名称').Value:=trim(edit2.Text);
            post;
         end;
      application.MessageBox('修改成功','提示',64);
      m:=0;
      speedbutton4.Enabled:=false;
      speedbutton5.Enabled:=false;
     end
   else
      application.MessageBox('请输入部门名称','提示',64)
else
   application.MessageBox('请输入部门编号','提示',64);

end;

procedure Tfrm_bmxx.DBGrid1CellClick(Column: TColumn);
begin
If DBGrid1.DataSource.DataSet<> Nil then
    if DBGrid1.DataSource.DataSet.RecordCount>0 then
      edit1.Text:=data1.ADOQYbmxx.FieldByName('部门编号').Value;
      edit2.Text:=data1.ADOQYbmxx.FieldByName('部门名称').Value;
end;

procedure Tfrm_bmxx.SpeedButton2Click(Sender: TObject);
begin
m:=1;
edit1.ReadOnly:=false;
edit2.ReadOnly:=false;
speedbutton4.Enabled:=true;
speedbutton5.Enabled:=true;
end;

procedure Tfrm_bmxx.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key = vk_Return) or(Key = vk_Down) then
    Edit2.SetFocus;
end;

procedure Tfrm_bmxx.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key = vk_Up then
    Edit1.SetFocus;
end;

end.

⌨️ 快捷键说明

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