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

📄 infosearch.pas

📁 关于DEPHI7.0的人力资源信息管理系统源代码
💻 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 + -