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

📄 formpersonal1.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
       datamod.ADOQuery1.execsql;
       datamod.ADOQuery1.close;
       datamod.qryexchange.Close;
       datamod.qryexchange.Open;
       if datamod.qryexchange.eof then
        begin
         panel4.Visible :=false;
         datamod.qryexchange.Close;
        end;
     end;
end;

procedure Tformpersonal.DBComboBox3KeyPress(Sender: TObject;
  var Key: Char);
begin
  key:=upcase(key);
end;

procedure Tformpersonal.DBComboBox16DblClick(Sender: TObject);
begin
  showdbgrid(3);
end;
procedure Tformpersonal.DBComboBox5Exit(Sender: TObject);
begin
  if length(trim(dbcombobox5.text))>1 then
    if dbcombobox5.items.indexof(trim(dbcombobox5.text))=-1 then
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
end;

procedure Tformpersonal.DBEdit1Exit(Sender: TObject);
var ary:Tadoquery;
begin
  ary:=Tadoquery.Create(self);
  ary.Connection :=datamod.Database1;
  ary.SQL.Clear;
  ary.SQL.Add ('select worknolength from pub08010');
  ary.Open;
  if ary.eof then
    Application.messagebox('对不起,请设定工号,卡号长度,否则不能保证您的资料的正确性','Warning',mb_ok+mb_iconwarning)
  else
    begin
     ary.First;
     if trim(dbedit1.text)='' then
     begin
       application.messagebox('请输入工号!不输入你将不能保存!','工号不能为空',mb_ok+mb_iconwarning);
       dbedit1.setfocus;
     end;
     if length(trim(dbedit1.text))<>ary.fieldbyname('worknolength').asinteger then
     begin
       application.messagebox('您输入的工号长度不正确!','提示',mb_ok+mb_iconwarning);
       dbedit1.setfocus;
     end;
    end;
   ary.Close;
end;

procedure Tformpersonal.DBEdit2Exit(Sender: TObject);
var ary:Tadoquery;
begin
  ary:=Tadoquery.Create(self);
  ary.Connection :=datamod.Database1;
  ary.SQL.Clear;
  ary.SQL.Add ('select cardnolength from pub08010');
  ary.Open;
  if ary.eof then
    Application.messagebox('对不起,请设定工号,卡号长度,否则不能保证您的资料的正确性','Warning',mb_ok+mb_iconwarning)
  else
    begin
     ary.First;
     if trim( dbedit2.text)<>'' then
       if length(trim(dbedit2.Text))<>ary.FieldByName('cardnolength').asinteger then
       begin
         Application.messagebox('您输入的卡号长度不正确','Warning',mb_ok+mb_iconwarning);
         dbedit2.SetFocus;
       end;  
    end;
   ary.Close;
end;

procedure Tformpersonal.Image1DblClick(Sender: TObject);
begin
     if op1.Execute then
     begin
          Image1.Picture.LoadFromFile(op1.filename);
          datamod.adopersonal.edit;
          Datamod.Adopersonalphoto.asstring:=op1.filename;
     end;
end;

procedure Tformpersonal.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  dbgrid_keypress(dbgrid1,key);
end;

procedure Tformpersonal.DBComboBox6Exit(Sender: TObject);
begin
  if length(trim(dbcombobox6.text))>1 then
    if dbcombobox6.items.indexof(trim(dbcombobox6.text))=-1 then
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
end;

procedure Tformpersonal.DBComboBox7Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox7.text))>1 then
    if dbcombobox7.items.indexof(trim(dbcombobox7.text))=-1 then
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
    }
end;

procedure Tformpersonal.DBComboBox9Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox9.text))>1 then
    if dbcombobox9.items.indexof(trim(dbcombobox9.text))=-1 then
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);}
end;

procedure Tformpersonal.DBComboBox10Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox10.text))>1 then
    if dbcombobox10.items.indexof(trim(dbcombobox10.text))=-1 then
    begin
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
     dbcombobox10.setfocus;
    end;}
end;

procedure Tformpersonal.DBComboBox12Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox12.text))>1 then
   begin
    if dbcombobox12.items.indexof(trim(dbcombobox12.text))=-1 then
    begin
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
    if (trim(dbcombobox12.Text)=trim(dbcombobox13.text)) or (trim(dbcombobox12.Text)=trim(dbcombobox14.text)) or(trim(dbcombobox12.Text)=trim(dbcombobox15.text)) then
    begin
     Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
   end;}
end;

procedure Tformpersonal.DBComboBox13Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox13.text))>1 then
   begin
    if dbcombobox13.items.indexof(trim(dbcombobox13.text))=-1 then
    begin
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
    if (trim(dbcombobox13.Text)=trim(dbcombobox12.text)) or (trim(dbcombobox13.Text)=trim(dbcombobox14.text)) or(trim(dbcombobox13.Text)=trim(dbcombobox15.text)) then
    begin
     Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
   end;}
end;

procedure Tformpersonal.DBComboBox14Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox14.text))>1 then
   begin
    if dbcombobox14.items.indexof(trim(dbcombobox14.text))=-1 then
    begin
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
    if (trim(dbcombobox14.Text)=trim(dbcombobox12.text)) or (trim(dbcombobox14.Text)=trim(dbcombobox13.text)) or(trim(dbcombobox14.Text)=trim(dbcombobox15.text)) then
    begin
     Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
   end;}
end;

procedure Tformpersonal.DBComboBox15Exit(Sender: TObject);
begin
{  if length(trim(dbcombobox15.text))>1 then
   begin
    if dbcombobox15.items.indexof(trim(dbcombobox15.text))=-1 then
    begin
     Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
    if (trim(dbcombobox15.Text)=trim(dbcombobox12.text)) or (trim(dbcombobox15.Text)=trim(dbcombobox13.text)) or(trim(dbcombobox15.Text)=trim(dbcombobox14.text)) then
    begin
     Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
     dbcombobox12.setfocus;
    end;
   end;}
end;

procedure Tformpersonal.DateTimePicker1CloseUp(Sender: TObject);
begin
   datamod.adopersonal.edit;
   datamod.adopersonalbirthday.asstring:=datetostr(datetimepicker1.date); //单击datetimepicker时, dbeidt9中显示,dbedit10年龄自动显示
   dbedit9.OnExit(sender);
end;

procedure Tformpersonal.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
  if button=nbinsert then
    begin
      edit1.Text :='';
    end;
end;

procedure Tformpersonal.DateTimePicker2CloseUp(Sender: TObject);
begin
   datamod.adopersonal.edit;
   Datamod.adopersonalindate.asstring:=datetostr(datetimepicker2.date); //单击datetimepicker时, dbeidt9中显示,dbedit10年龄自动显示
end;

procedure Tformpersonal.SpeedButton7Click(Sender: TObject);
begin
   formturnrule:=TFormturnrule.create(self);
   formturnrule.showmodal;
   formturnrule.free;
end;

procedure Tformpersonal.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_F1 then
      begin
      Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
      application.HelpJump('SHM_CONTENTS0009');
    end;
end;

procedure Tformpersonal.DBEdit24Exit(Sender: TObject);
var
  Sli:String;
  i,i1,i2,Sli1:integer;
  //c:String[4];
begin
 with datamod do
    begin
       try
         if not adopersonalindate.IsNull then
            begin
             Sli:=adopersonal.fieldbyname('indate').asstring;
              I:=Strtoint(Copy(Formatdatetime('yyyymmdd',date),7,2))-Strtoint(Copy(datetimetostr(adopersonalindate.Value),9,2));
              I1:=Strtoint(Copy(Formatdatetime('yyyymmdd',date),5,2))-Strtoint(Copy(datetimetostr(adopersonalindate.Value),6,2));
              I2:=Strtoint(Copy(Formatdatetime('yyyymmdd',date),1,4))-Strtoint(Copy(datetimetostr(adopersonalindate.Value),1,4));
              if i<0 then
                   i1:=i1-1;
              if i1<0 then
              begin
                 i2:=i2-1;
                 i1:=i1+12;
              end;
             { if Length(inttostr(i1))<2 then
                 Sli1:='0'+inttostr(i1)
              else
                 Sli1:=inttostr(i1);
              C:=inttostr(i2)+'.'+Sli1;
              adopersonal.Edit;
              adopersonal.fieldbyname('years').Value:=StrtoFloat(c); }
              sli1:=i2*12+i1;
              adopersonal.edit;
              adopersonal.fieldbyname('years').Value:=round(sli1/12*100)/100 ;
            end;
       except
          Application.MessageBox(PChar('['+datetimetostr(adopersonal.fieldbyname('indate').value)+']不是一个有效的日期!'),'格式错误',
          mb_iconError);
    end;
    end;
    end;
procedure Tformpersonal.Edit2Exit(Sender: TObject);
begin
    if (trim(edit2.text)<>'') then
    begin
       if not datamod.adopersonal.locate('name',edit2.text,[]) then
       if not datamod.adopersonal.locate('workno',edit2.text,[]) then
       if not datamod.adopersonal.locate('cardno',edit2.text,[]) then
          application.messagebox('找不到你想查找的人员','温馨提示',mb_ok+mb_iconinformation);
    end;
end;

procedure Tformpersonal.wwDBLookupCombo1Exit(Sender: TObject);
var aqy:Tadoquery;
begin
   if length(trim(wwDBLookupCombo1.text))<1 then exit;
   aqy:=Tadoquery.create(self);                     //判断部门编号输入的是否正确
   aqy.connection:=datamod.database1;
   aqy.sql.Clear;
   aqy.sql.Add('select * from pub05010 where dno='''+wwDBLookupCombo1.text+'''');
   aqy.open;
   if aqy.eof then
     Application.messagebox('没有此部门','Warning',mb_ok+mb_iconwarning)
   else
   begin
     datamod.adopersonal.Edit;
     datamod.adopersonal.fieldbyname('dept').asstring :=aqy.fieldbyname('dept').asstring;
   end;
   aqy.close;
   aqy.free;
end;

procedure Tformpersonal.wwDBLookupCombo1DblClick(Sender: TObject);
begin
   showdbgrid(1);
end;

procedure Tformpersonal.wwDBLookupCombo1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   if key=VK_Down then
     (sender as Twwdblookupcombo).dropdown; 
end;

procedure Tformpersonal.wwDBLookupCombo3DblClick(Sender: TObject);
begin
  showdbgrid(8);
end;
procedure Tformpersonal.wwDBLookupCombo3Exit(Sender: TObject);
begin
  if length(trim(wwDBLookupCombo3.Text))>0 then
  with datamod.ADOQuery1 do       //在光标离开时,判断班别正确与否
    begin
      close;
      sql.clear;
      sql.Add('select scheno from atd01010 where scheno='''+datamod.adopersonalscheno.AsString +'''');
      open;
      if eof then
        Application.Messagebox('没有此班别','Warning',mb_ok+mb_iconerror);
        close;
    end;
end;

procedure Tformpersonal.wwDBLookupCombo4DblClick(Sender: TObject);
begin
  showdbgrid(2);
end;

procedure Tformpersonal.wwDBLookupCombo5DblClick(Sender: TObject);
begin
  showdbgrid(11);
end;

procedure Tformpersonal.wwDBLookupCombo6DblClick(Sender: TObject);
begin
    showdbgrid(12);
end;

procedure Tformpersonal.wwDBLookupCombo7DblClick(Sender: TObject);
begin
   showdbgrid(4);
end;

procedure Tformpersonal.DBEdit6Exit(Sender: TObject);
begin
   pagecontrol1.ActivePageIndex:=1;
   dbedit14.setfocus;
end;

procedure Tformpersonal.DBMemo1Exit(Sender: TObject);
begin
   pagecontrol1.ActivePageIndex:=0;
   wwDBLookupCombo1.setfocus;
end;

procedure Tformpersonal.DBNavigator3Click(Sender: TObject;
  Button: TNavigateBtn);
begin
//if  DataMod.ADOpersonal.State=dsinsert then
//begin
// datamod.ADOpersonal.DisableControls;
// datamod.adopersonal.Locate('workno',worknoo,[loCaseInsensitive]);
// datamod.ADOpersonal.EnableControls;
//end;
end;

procedure Tformpersonal.DBComboBox18Change(Sender: TObject);
begin
 if (trim(datamod.adopersonalruleno.Value)<>'') then
 begin
   if (dbcombobox18.Text<>'轮班')then
   begin
    application.messagebox('该员工的员工性质必须为轮班!','提示',mb_ok+mb_iconinformation);
    dbcombobox18.SetFocus;
   end;
 end;
end;

end.




⌨️ 快捷键说明

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