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

📄 unit4.pas

📁 一款实用的人事管理软件程序
💻 PAS
字号:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, FR_DSet, FR_DBSet, FR_Class, DB, ADODB, StdCtrls, Buttons,
  ExtCtrls;

type
  TForm4 = class(TForm)
    GroupBox1: TGroupBox;
    Panel1: TPanel;
    ComboBox1: TComboBox;
    ListBox1: TListBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Label3: TLabel;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    ADOConnection1: TADOConnection;
    RadioGroup1: TRadioGroup;

  procedure LoadDWtoList(strxt:string);
  procedure selectDB(_strsql:string;_Query: TADOQuery;select:boolean);
  function getSqlstr(tj:string):string;
     procedure LoadXTtoList();
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure radioGroup1Click(Sender: TObject);

 
    { Private declarations }
  public

    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}
function tform4.getSqlstr(tj:string):string;
var
strsql:string;
strxt,strdw:string;
 begin

 strdw:= listbox1.Items.Strings[listbox1.ItemIndex];
 strxt:=combobox1.Text;
 if listbox1.ItemIndex =0 then begin
    if combobox1.ItemIndex =0 then begin
       if tj='全部' then
        strsql:='select * from try order by 单位'
       else
        strsql:='select * from try where '+tj+' between '''+edit1.Text+
      ''' and '''+edit2.Text+'''order by 单位';
    end
    else begin
       if tj='全部' then
       strsql:='select * from try where 单位 in(select 单位 from tdw where '
       +'所属系统 ='''+strxt+''') order by 单位'
       else
       strsql:='select * from try where 单位 in(select 单位 from tdw where '
       +'所属系统 ='''+strxt+''')  and '+tj+' between '''+edit1.Text+
       ''' and '''+edit2.Text+''' order by 单位';
    end;
  end
 else  begin
     if tj='全部' then
     strsql:='select * from try where 单位='''+strdw+''' order by 单位'
     else
     strsql:='select * from try where 单位='''+strdw+''' and '+tj+' between '''+edit1.Text+
       ''' and '''+edit2.Text+''' order by 单位';
 end;
  result:=strsql;

 end;

procedure tform4.LoadDWtoList(strxt:string);
 var
 strsql:string;
begin
if strxt='所有单位' then
  strsql:='select 单位 from tdw order by 单位编号'
else
  strsql:='select 单位 from tdw where 所属系统='''+strxt+''' order by 单位编号';

  selectdb(strsql,adoquery1,true);
  listbox1.Clear;
  if adoquery1.RecordCount =0 then begin
  exit;
  end;
   listbox1.Items.BeginUpdate;
   listbox1.Items.Add('所有单位');
  while not adoquery1.Eof do
  begin
   listbox1.Items.Add(adoquery1.FieldValues['单位']);

  ADOquery1.Next;
  end;
  ADOquery1.Close;
  listbox1.Items.EndUpdate;
  //combobox1.ItemIndex :=0;

end;
procedure TForm4.selectDB(_strsql:string;_Query: TADOQuery;select:boolean);
begin

 _query.Close;
    _query.SQL.Text:= _strsql;
    if select then  _query.Open
    else
     _query.ExecSQL;
end;
  procedure TForm4.LoadXTtoList();
var
 strsql:string;
begin
  strsql:='select 所属系统 from txt order by 系统编号';
  selectdb(strsql,adoquery1,true);
  combobox1.Items.Clear;
  if adoquery1.RecordCount =0 then begin
  exit;
  end;
  combobox1.Items.BeginUpdate;
  combobox1.Items.Add('所有单位');
  adoquery1.First;
  while not adoquery1.Eof do
  begin
   combobox1.Items.Add(adoquery1.FieldValues['所属系统']);
   //tmptree.ImageIndex:=0;
  ADOquery1.Next;
  end;
  combobox1.Items.EndUpdate ;
  ADOquery1.Close;
  //combobox1.Items :=listbox1.Items ;
  combobox1.ItemIndex:=0;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
LoadXTtoList();
LoadDWtoList('所有单位');
end;
procedure TForm4.ComboBox1Change(Sender: TObject);
begin
loaddwtolist(combobox1.Text);
end;
procedure TForm4.BitBtn2Click(Sender: TObject);
var
_tj:string;
strsql:string;
begin
if listbox1.ItemIndex<0 then begin
    showmessage('请先选择要打印的单位');
    listbox1.SetFocus;
    exit;
end;
case RadioGroup1.ItemIndex of
    0:
   _tj:='全部';
    1: begin
    _tj:='档案号';
    if (edit1.Text='') or (edit2.Text='') then begin
     showmessage('您选择了按档案号打印,请输入要打印的档案号范围');
     edit1.SetFocus;
     exit;
     end;
     if edit1.Text > edit2.Text then begin
      showmessage('您输入的档案号下标范围大于上标范围,这是不正确的');
     edit1.SetFocus;
     exit;
     end;
     end;
    2:  begin
    _tj:='人事代理合同编号';
    if (edit1.Text='') or (edit2.Text='') then begin
     showmessage('您选择了按人事代理合同编号打印,请输入要打印的人事代理合同编号范围');
     edit1.SetFocus;
     exit;
     end;
      if edit1.Text > edit2.Text then begin
      showmessage('您输入的人事代理合同编号下标范围大于上标范围,这是不正确的');
     edit1.SetFocus;
     exit;
     end;
    end;
    end;
strsql:=getSqlstr(_tj);
//showmessage(getSqlstr(_tj));
try
selectdb(strsql,adoquery1,true);
//datasource1.DataSet:=adoquery1;
 frReport1.ShowReport;
except
showmessage('生成报表时发生错误,建议仔细阅读帮助文件的打印部分,如果问题依旧,请联系我们');
end;
end;

procedure TForm4.BitBtn1Click(Sender: TObject);
var
_tj:string;
strsql:string;
begin
if listbox1.ItemIndex <0 then begin
    showmessage('请先选择要打印的单位');
    listbox1.SetFocus;
    exit;
end;
case RadioGroup1.ItemIndex of
    0:
   _tj:='全部';
    1: begin
    _tj:='档案号';
    if (edit1.Text='') or (edit2.Text='') then begin
     showmessage('您选择了按档案号打印,请输入要打印的档案号范围');
     edit1.SetFocus;
     exit;
     end;
     if edit1.Text > edit2.Text then begin
      showmessage('您输入的档案号下标范围大于上标范围,这是不正确的');
     edit1.SetFocus;
     exit;
     end;
     end;
    2:  begin
    _tj:='人事代理合同编号';
    if (edit1.Text='') or (edit2.Text='') then begin
     showmessage('您选择了按人事代理合同编号打印,请输入要打印的人事代理合同编号范围');
     edit1.SetFocus;
     exit;
     end;
      if edit1.Text > edit2.Text then begin
      showmessage('您输入的人事代理合同编号下标范围大于上标范围,这是不正确的');
     edit1.SetFocus;
     exit;
     end;
    end;
    end;
strsql:=getSqlstr(_tj);
//showmessage(getSqlstr(_tj));
try
selectdb(strsql,adoquery1,true);
//datasource1.DataSet:=adoquery1;
 frReport1.PrepareReport;
 frReport1.PrintPreparedReportDlg;


except
showmessage('生成报表时发生错误,建议仔细阅读帮助文件的打印部分,如果问题依旧,请联系我们');
end;

end;

procedure TForm4.BitBtn4Click(Sender: TObject);
begin
self.Close;
end;

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

procedure TForm4.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
    0:  begin
    edit1.Enabled:=false;
    edit2.enabled:=false;
      end
    else  begin
    edit1.enabled:=true;
    edit2.enabled:=true;
    end;
end;
end;
end.

⌨️ 快捷键说明

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