📄 infosearch.pas
字号:
unit InfoSearch;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Buttons, ComCtrls, Mask, DB,
DBTables;
type
TFormEmpInfoSearch = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label15: TLabel;
Label3: TLabel;
Bevel1: TBevel;
DBEditEMPID: TDBEdit;
DBEditEMPNAME: TDBEdit;
DBComboBox4: TDBComboBox;
BTNFirst: TBitBtn;
BTNNext: TBitBtn;
BTNPrev: TBitBtn;
BTNLast: TBitBtn;
Bevel3: TBevel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label18: TLabel;
Label10: TLabel;
Label5: TLabel;
Label19: TLabel;
Label8: TLabel;
Label9: TLabel;
Label6: TLabel;
Label7: TLabel;
Label21: TLabel;
Label20: TLabel;
Label34: TLabel;
Label33: TLabel;
DBEditNATIVE: TDBEdit;
DBEditIDCARD: TDBEdit;
DBEditCLANDATE: TDBEdit;
DBComboBox1: TDBComboBox;
DBEdit11: TDBEdit;
BTNPhoto: TBitBtn;
DBImage1: TDBImage;
DBCmbEdu: TDBComboBox;
DBCmbDegree: TDBComboBox;
DBCmbPolity: TDBComboBox;
DBCmbHealth: TDBComboBox;
DBCmbMarriage: TDBComboBox;
DBCmbNation: TDBComboBox;
TabSheet2: TTabSheet;
Label16: TLabel;
Label13: TLabel;
Label11: TLabel;
Label12: TLabel;
Label17: TLabel;
Label4: TLabel;
Label25: TLabel;
Label27: TLabel;
Label24: TLabel;
Label23: TLabel;
Label22: TLabel;
Label26: TLabel;
EditJOBFROM: TDBEdit;
EditJOBYEAR: TDBEdit;
EditENTERDATE: TDBEdit;
EditTECHTITLE: TDBEdit;
EditPOSITIONTITLE: TDBEdit;
EditADMINPOSITION: TDBEdit;
EditPOSTCLASS: TDBEdit;
EditADMINSIGN: TDBEdit;
EditEMPSTATE: TDBEdit;
EditJOBTYPE: TDBEdit;
EditJOBKIND: TDBEdit;
EditSPECIALITY: TDBEdit;
TabSheet4: TTabSheet;
Label28: TLabel;
Label29: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
EditSCHOOL: TDBEdit;
EditGRADUATEDate: TDBEdit;
DBEdit1: TDBEdit;
EditSPECIALITY2: TDBEdit;
EditGRADUATEDate2: TDBEdit;
EditSCHOOL2: TDBEdit;
EditEDUDEGREE: TDBEdit;
ComboBox1: TDBComboBox;
ComboBox2: TDBComboBox;
TabSheet5: TTabSheet;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
EditStartDate: TDBEdit;
EditEndDate: TDBEdit;
EditTECHGRADE: TDBEdit;
EditTECHPOSITION: TDBEdit;
EditADMINGRADE: TDBEdit;
DBEdit2: TDBEdit;
EditJOBPOSITION: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
ListBox1: TListBox;
BTNAdd: TBitBtn;
BTNDel: TBitBtn;
TabSheet3: TTabSheet;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label14: TLabel;
Label53: TLabel;
Label54: TLabel;
EditPHONE: TDBEdit;
EditEMAIL: TDBEdit;
EditOFFICE: TDBEdit;
EditHOMEADDRESS: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
TabSheet6: TTabSheet;
Label55: TLabel;
Label56: TLabel;
Label57: TLabel;
Label58: TLabel;
Label59: TLabel;
Label60: TLabel;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBComboBox2: TDBComboBox;
TabSheet7: TTabSheet;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBComboBox3: TDBComboBox;
Label67: TLabel;
BTNSearch: TBitBtn;
CmbFindClass: TComboBox;
CmbFindValue: TComboBox;
CmbOperator: TComboBox;
Label68: TLabel;
procedure BTNFirstClick(Sender: TObject);
procedure BTNLastClick(Sender: TObject);
procedure BTNNextClick(Sender: TObject);
procedure BTNPrevClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CmbFindClassChange(Sender: TObject);
procedure BTNSearchClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CmbOperatorChange(Sender: TObject);
procedure CmbFindValueChange(Sender: TObject);
private
{ Private declarations }
procedure PrevSearchSet(Sender: TObject);
procedure NextSearchSet(Sender: TObject);
public
{ Public declarations }
end;
var
FormEmpInfoSearch: TFormEmpInfoSearch;
SearchField, SearchValue : String;
implementation
uses Main, Data;
{$R *.dfm}
procedure TFormEmpInfoSearch.PrevSearchSet(Sender: TObject);
begin
BTNFirst.Enabled := True;
BTNPrev.Enabled := True;
BTNLast.Enabled := True;
BTNNext.Enabled := True;
with DataModule1.DataSource1.DataSet do
begin
if RecNo = 1 then
begin
BTNFirst.Enabled := False;
BTNPrev.Enabled := False;
end;
end;
end;
procedure TFormEmpInfoSearch.NextSearchSet(Sender: TObject);
begin
BTNFirst.Enabled := True;
BTNPrev.Enabled := True;
BTNLast.Enabled := True;
BTNNext.Enabled := True;
with DataModule1.DataSource1.DataSet do
begin
if RecNo = RecordCount then
begin
BTNLast.Enabled := False;
BTNNext.Enabled := False;
end;
end;
end;
procedure TFormEmpInfoSearch.BTNFirstClick(Sender: TObject);
begin
with DataModule1.DataSource1.DataSet do
FindFirst;
PrevSearchSet(Sender);
end;
procedure TFormEmpInfoSearch.BTNLastClick(Sender: TObject);
begin
with DataModule1.DataSource1.DataSet do
FindLast;
NextSearchSet(Sender);
end;
procedure TFormEmpInfoSearch.BTNNextClick(Sender: TObject);
begin
if not DataModule1.DataSource1.DataSet.Eof then
try
if not DataModule1.DataSource1.DataSet.FindNext then
Application.MessageBox('后面没有了!','人力资源管理信息系统',0);
except
Application.MessageBox('无法执行查询!','人力资源管理信息系统',0);
raise;
end;
NextSearchSet(Sender);
end;
procedure TFormEmpInfoSearch.BTNPrevClick(Sender: TObject);
begin
if not(DataModule1.DataSource1.DataSet.RecNo = 0) then
try
if not DataModule1.DataSource1.DataSet.FindPrior then
Application.MessageBox('前面没有了!','人力资源管理信息系统',0);
except
Application.MessageBox('无法执行查询!','人力资源管理信息系统',0);
raise;
end;
PrevSearchSet(Sender);
end;
procedure TFormEmpInfoSearch.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FormMain.CloseDataSource1;
FormMain.Show;
Self.Destroy;
end;
procedure TFormEmpInfoSearch.CmbFindClassChange(Sender: TObject);
begin
if CmbFindClass.Text = '姓名' then
SearchField := 'EMPNAME'
else if CmbFindClass.Text = '所在部门' then
SearchField := 'EMPDEPT'
else if CmbFindClass.Text = '工号' then
SearchField := 'EMPID'
else if CmbFindClass.Text = '学位' then
SearchField := 'DEGREE'
else if CmbFindClass.Text = '籍贯' then
SearchField := 'NATIVE'
else if CmbFindClass.Text = '生日' then
SearchField := 'BIRTHDAY'
else
begin
messagebeep(1);
showmessage('无效的查询条件!请选择查询条件或弃查询!');
end;
if SearchValue <> '' then
BTNSearch.Enabled := True;
end;
procedure TFormEmpInfoSearch.BTNSearchClick(Sender: TObject);
begin
with DataModule1.DataSource1.DataSet do
try
Disablecontrols;
Filtered := False;
Filter := SearchField +' '+ CmbOperator.Text + ''''+ SearchValue + '''';
Filtered := True;
Open;
finally
Enablecontrols;
if RecordCount =0 then
begin
Messagebeep(1);
Showmessage('没有符合条件的记录,请确定查询条件或放弃查询!');
if messageDlg('是否继续查询?只有结束查询才能进行其他操作!',
mtinformation, [mbYes,mbNo],0) = mrNo then
begin
Filtered := False;
Close;
end;
end
else
begin
Showmessage('恭喜,找到了!');
BTNFirstClick(Sender);
end;
BTNSearch.Enabled := False;
end;
end;
procedure TFormEmpInfoSearch.FormCreate(Sender: TObject);
begin
SearchField := 'EMPNAME';
SearchValue := Trim(CmbFindValue.Text);
end;
procedure TFormEmpInfoSearch.CmbOperatorChange(Sender: TObject);
begin
if SearchValue <> '' then
BTNSearch.Enabled := True;
end;
procedure TFormEmpInfoSearch.CmbFindValueChange(Sender: TObject);
begin
SearchValue := Trim(CmbFindValue.Text);
if CmbFindValue.Text <> '' then
BTNSearch.Enabled := True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -