📄 u_rsgl.~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 + -