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

📄 payforoffice.pas

📁 大型分布式销售管理系统,DELPHI编写,商业源代码,现在已经商用,下载者严禁出售该代码,只可以自己学习,包含数据库文件
💻 PAS
字号:
unit payforoffice;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, DB, DBTables;

type
  Tfrm_payforoffice = class(TForm)
    label1: TLabel;
    DBGrid1: TDBGrid;
    Label8: TLabel;
    Label5: TLabel;
    btncreatedetail: TButton;
    btnsavethis: TButton;
    qoffice: TQuery;
    dspayforoffice: TDataSource;
    dsuse: TDataSource;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    qforuse: TQuery;
    qforuse2: TQuery;
    qforuse3: TQuery;
    qpayforoffice: TQuery;
    qpayforofficeBDEDesigner: TAutoIncField;
    qpayforofficeBDEDesigner2: TStringField;
    qpayforofficeBDEDesigner3: TStringField;
    qpayforofficeBDEDesigner4: TStringField;
    qpayforofficeBDEDesigner5: TStringField;
    qpayforofficeBDEDesigner6: TFloatField;
    qpayforofficeBDEDesigner7: TFloatField;
    qpayforofficeBDEDesigner8: TFloatField;
    qpayforofficeBDEDesigner9: TFloatField;
    qpayforofficeBDEDesigner10: TStringField;
    qpayforofficeBDEDesigner11: TStringField;
    ComboBox2: TComboBox;
    procedure btncreatedetailClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure btnsavethisClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_payforoffice: Tfrm_payforoffice;

implementation

uses data;

{$R *.dfm}

procedure Tfrm_payforoffice.btncreatedetailClick(Sender: TObject);
var
office:string;
year:string;
month:string;
begin
   office:=ComboBox2.Text;
   year:=Edit1.Text;
   month:=ComboBox1.Text;
   //判断该办事处名称和年月的组合是否存在,存在,则提出相关人员数据
                                      //   否则,插入相关的人员数据
       with qforuse do begin
          if active then close;
          unprepare;
          sql.Clear;
          sql.Add('select * from pub_z_payforoffice where 年=:year and 月=:month and 办事处名称=:office');
          parambyname('year').AsString:=year;
          parambyname('month').asstring:=month;
          parambyname('office').asstring:=office;
          open;
          //如果没有办事处名称和年月的组合,就插入到pub_z_payforoffice。
          if not findfirst then
             //提出相关工号:
            with qforuse2 do begin
            if active then close;
            unprepare;
            sql.Clear;
            sql.Add('select * from pub_z_stuff where 办事处名称=:office');
            parambyname('office').asstring:=office;
            Open;
            //循环赋值:
           if findfirst then
            while not qforuse2.Eof do
               with qforuse3 do begin
               Close;
               UnPrepare ;
               SQL.Clear ;
               SQL.Add('insert into pub_z_payforoffice values(:office,:name,:gh,:qqtsh,:fdratio,:saleratio,:yearratio,:maintainratio,:year,:month)');
               parambyname('office').AsString:=office;
               parambyname('name').AsString:=qforuse2.fieldbyname('姓名').Asstring;
               parambyname('gh').asstring:=qforuse2.fieldbyname('工号').Asstring;
               parambyname('qqtsh').asstring:='0';
               parambyname('fdratio').ascurrency:=0;
               parambyname('saleratio').ascurrency:=0;
               parambyname('yearratio').ascurrency:=0;
               parambyname('maintainratio').ascurrency:=0;
               parambyname('year').AsString:=year;
               parambyname('month').asstring:=month;
               ExecSQL;

           qforuse2.next;
           end ;
        end;
     end;
           with  qpayforoffice do begin
               if active then close;
               parambyname('office').AsString:=office;
               parambyname('year').AsString:=year;
               parambyname('month').asstring:=month;
               Open;
           end;

end;

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

procedure Tfrm_payforoffice.FormCreate(Sender: TObject);
begin
  with qoffice do begin
    open;
    ComboBox2.Items.Clear ;
    while not eof do begin
      ComboBox2.Items.Add(fieldbyname('办事处名称').AsString);
      next;
    end;
  end;

end;

procedure Tfrm_payforoffice.btnsavethisClick(Sender: TObject);
begin
      with data.zxjxdata do begin
      if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
      try
      qpayforoffice.ApplyUpdates;
      DatabaseJxw.commit;
        //使编辑框和按钮有反应:
      except
        DatabaseJxw.Rollback;
        raise;
      end;

    end;
end;

end.

⌨️ 快捷键说明

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