📄 u_empbase.~pas
字号:
unit U_empbase;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, Grids, DBGrids, StdCtrls, DBCtrls, Mask, Buttons, Db,
DBTables, jpeg;
type
TF_empbase = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
Label12: TLabel;
DBEdit12: TDBEdit;
Label13: TLabel;
DBEdit13: TDBEdit;
DBRadioGroup1: TDBRadioGroup;
DBRadioGroup2: TDBRadioGroup;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label14: TLabel;
ComboBox1: TComboBox;
Query1: TQuery;
RadioGroup1: TRadioGroup;
Edit1: TEdit;
BitBtn3: TBitBtn;
Label15: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
Bevel1: TBevel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1Change(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure DateTimePicker3Change(Sender: TObject);
private
{ Private declarations }
Procedure adddept;
Procedure readonly(flag:boolean);
public
{ Public declarations }
end;
var
F_empbase: TF_empbase;
implementation
uses U_RS_DM;
{$R *.DFM}
Procedure TF_empbase.readonly(flag:boolean);
var
i:integer;
begin
if flag then
begin
for i:=0 to ControlCount-1 do
if uppercase(controls[i].ClassName)='TDBEDIT' then
TDBEDIT(controls[i]).readonly:=true;
DBGrid1.ReadOnly:=true;
end
else
begin
for i:=0 to ControlCount-1 do
if uppercase(controls[i].ClassName)='TDBEDIT' then
TDBEDIT(controls[i]).readonly:=false;
DBGrid1.ReadOnly:=false;
end
end;
Procedure TF_empbase.adddept;
begin
combobox1.Items.Clear;
Query1.Open;
Query1.First;
while Not Query1.Eof do
begin
if Query1.FieldByName('ejbm_name').asstring<>'' then
combobox1.Items.Add(Query1.fieldbyname('ejbm_name').asstring);
Query1.Next;
end;
end;
procedure TF_empbase.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TF_empbase.FormDestroy(Sender: TObject);
begin
F_empbase:=nil;
end;
procedure TF_empbase.FormCreate(Sender: TObject);
begin
adddept;
readonly(true);
bitbtn2.Enabled:=false; // 保存
end;
procedure TF_empbase.BitBtn1Click(Sender: TObject);
begin
RS_DM.Q_employees.Edit;
rs_dm.Q_empdata.edit;
readonly(false); //可以编辑
bitbtn1.Enabled:=false;
bitbtn2.Enabled:=true;
end;
procedure TF_empbase.BitBtn2Click(Sender: TObject);
begin
if RS_DM.Q_employees.state in [dsedit] then
RS_DM.Q_employees.Post;
if RS_DM.Q_empdata.state in [dsedit] then
RS_DM.Q_empdata.Post;
readonly(true);
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=false;
end;
procedure TF_empbase.ComboBox1Click(Sender: TObject);
begin
with Query1 do
begin
close;
sql.clear;
sql.add('select * from ejbm where ejbm_name='+''''+combobox1.text+'''');
open;
end;
with rs_dm.Q_employees do
begin
close;
sql.Clear;
sql.add('select * from empdata where dep_id='+Query1.fieldbyname('ejbm_id').asstring);
open;
end;
end;
procedure TF_empbase.Edit1Change(Sender: TObject);
begin
if RadioGroup1.ItemIndex=0 then //姓名
with rs_dm.Q_empdata do
begin
close;
sql.Clear;
sql.Add('select * from empdata where name like '+''''+edit1.Text+'%'+'''');
open;
end
else
if RadioGroup1.ItemIndex=1 then //工号
with rs_dm.Q_empdata do
begin
close;
sql.Clear;
sql.Add('select * from empdata where work_num like '+''''+edit1.Text+'%'+'''');
open;
end
else
with rs_dm.Q_empdata do //卡号
begin
close;
sql.Clear;
sql.Add('select * from empdata where card_num like '+''''+edit1.Text+'%'+'''');
open;
end;
end;
procedure TF_empbase.BitBtn3Click(Sender: TObject);
begin
RS_DM.Q_employees.Cancel;
rs_dm.Q_empdata .cancel;
readonly(true); //只读
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=false;
end;
//选择下一个
procedure TF_empbase.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
selectnext(activecontrol,true,true);
end;
procedure TF_empbase.DateTimePicker1Change(Sender: TObject);
begin
DBedit12.text:=datetostr(datetimepicker1.date);
end;
procedure TF_empbase.DateTimePicker2Change(Sender: TObject);
begin
DBedit2.text:=datetostr(datetimepicker2.date);
end;
procedure TF_empbase.DateTimePicker3Change(Sender: TObject);
begin
DBEDIT3.text:=datetostr(datetimepicker3.date);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -