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

📄 rl_bfshuju_unit.~pas

📁 通用人力资源系统,分类可以自设定 可以熟练掌握DELPHI语言
💻 ~PAS
字号:
unit rl_bfshuju_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, RzEdit, DB, DBTables, ComCtrls, Grids, DBGrids,
  ExtCtrls, DBGridEh, Buttons;

type
  Trl_bfshuju = class(TForm)
    tb_dw: TTable;
    tb_bm: TTable;
    StatusBar1: TStatusBar;
    tb_gzzk: TTable;
    tb_gzbf: TTable;
    tb_bfrz: TTable;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    cb_dw: TComboBox;
    cb_fc: TComboBox;
    rdte_rq: TRzDateTimeEdit;
    Button1: TButton;
    pb1: TProgressBar;
    Button2: TButton;
    Panel2: TPanel;
    Splitter1: TSplitter;
    DataSource1: TDataSource;
    q_count: TQuery;
    DBGridEh1: TDBGridEh;
    Label5: TLabel;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure cb_dwChange(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  rl_bfshuju: Trl_bfshuju;

implementation

{$R *.dfm}

procedure Trl_bfshuju.FormCreate(Sender: TObject);
begin
  tb_dw.Open;
  tb_dw.First;
  with tb_dw do
    while not eof do
    begin
      cb_dw.Items.Add(tb_dw['dw']);
      next;
    end;
  tb_dw.close;
end;

procedure Trl_bfshuju.cb_dwChange(Sender: TObject);
begin
  cb_fc.Items.Clear;

  tb_bm.Open;
  tb_bm.First;
  with tb_bm do
    while not eof do
    begin
      if trim(cb_dw.Text) = trim(tb_bm['bmlb']) then
        cb_fc.Items.Add(tb_bm['bmmc']);
      next;
    end;
  tb_bm.close;
  cb_fc.ItemIndex := -1;
  cb_fc.Text := '';

end;

procedure Trl_bfshuju.Button2Click(Sender: TObject);
begin
  close;
end;

procedure Trl_bfshuju.Button1Click(Sender: TObject);
var
  chazhaobz, rec_count, i, j: integer;
  q_sql: string;
begin
  if (trim(cb_dw.Text) = '') or (trim(cb_fc.Text) = '') or (trim(rdte_rq.Text) = '') then
  begin
    Application.MessageBox('请选择备份的单位 部门或备份日期!', '提示信息', mb_iconInformation + mb_defbutton1);
    exit;
  end
  else
    if Application.MessageBox('真的要备份库中数据?', '操作提示', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
    begin
      chazhaobz := 0;
      tb_gzbf.Open;
      tb_gzbf.First;
      with tb_gzbf do
      begin
        if (tb_bfrz['bfrq'] = rdte_rq.Text) and (tb_bfrz['bfdw'] = cb_dw.Text) and (tb_bfrz['bffc'] = cb_fc.Text) then
          chazhaobz := 1;
        next;
      end;
      if chazhaobz = 1 then
      begin
        Application.MessageBox('此日期的数据已经备份了!!', '提示信息', mb_iconInformation + mb_defbutton1);
        exit;
      end
      else
      begin
        pb1.Visible := true;
        TB_bfrz.Append;
        tb_bfrz['bfrq'] := rdte_rq.Text;
        tb_bfrz['bfdw'] := cb_dw.Text;
        tb_bfrz['bffc'] := cb_fc.Text;
        tb_bfrz['caozuo'] := formatdatetime('yyyy-mm-dd  hh:ss:tt', now());
        tb_bfrz.Post;
        q_sql := 'select count(*) from gzzk where a2=' + '''' + cb_dw.Text + '''' + ' and a3=' + '''' + cb_fc.Text + '''';
        with q_count do
        begin
          q_count.SQL.Clear;
          sql.Add(q_sql);
          q_count.Prepare;
          open;
        end;
        rec_count := q_count.Fields[0].AsInteger;
        q_count.Close;
        J := 0;
        tb_gzbf.Open;
        tb_gzzk.open;
        tb_gzzk.First;
        with tb_gzzk do
          while not eof do
          begin
            if (tb_gzzk['a2'] = cb_dw.Text) and (tb_gzzk['a3'] = cb_fc.Text) then
            begin
              J := j + 1;
              pb1.Position := round(j / rec_count * 100);
              tb_gzbf.Append;
              tb_gzbf['a0'] := strtoint(copy(rdte_rq.text, 1, 4) + copy(rdte_rq.text, 7, 2) + copy(rdte_rq.text, 11, 2));
              for i := 1 to 150 do
              begin
                if i = 1 then
                  tb_gzbf['a' + inttostr(i)] := strtoint(tb_gzzk['a' + inttostr(i)])
                else
                  tb_gzbf['a' + inttostr(i)] := tb_gzzk['a' + inttostr(i)];
              end;
              tb_gzbf.Post;
            end;
            next;
          end;
        Application.MessageBox('数据备份完毕!!', '提示信息', mb_iconInformation + mb_defbutton1);
        pb1.Position := 0;
        pb1.Visible := false;
      end;
    end
    else
      close;
end;

procedure Trl_bfshuju.Button3Click(Sender: TObject);
var
  shanchurq, sql1: string;
begin
  if tb_bfrz.RecordCount = 0 then
  begin
    showmessage('没有备份数据可以删除!,返回');
    exit;
  end;
  if Application.MessageBox('真的要删除部备份日志表中所选的数据吗?', '请慎重选择!', MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
  begin
    shanchurq := copy(tb_bfrz['bfrq'], 1, 4) + copy(tb_bfrz['bfrq'], 7, 2) + copy(tb_bfrz['bfrq'], 11, 2);
    sql1 := 'delete  from gz_bf where a0=' + shanchurq;
//    SHOWMESSAGE(shanchurq);
    with q_count do
    begin
      sql.Clear;
      sql.add(sql1);
      q_count.Prepare;
      q_count.ExecSQL;
    end;
    q_COUNT.Close;
    tb_bfrz.Delete;
    SHOWMESSAGE('删除成功!');
  end;
end;

end.

⌨️ 快捷键说明

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