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

📄 cxyeunit.pas

📁 使用delphi语言
💻 PAS
字号:
unit cxyeunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Buttons, ToolWin, ComCtrls, StdCtrls, Grids, DBGrids,
  DBCtrls, DB, ADODB;

type
  Tcxyeform = class(TForm)
    ToolBar1: TToolBar;
    sb_print: TSpeedButton;
    sb_close: TSpeedButton;
    Bevel1: TBevel;
    Label1: TLabel;
    Label2: TLabel;
    DBGrid1: TDBGrid;
    a: TADODataSet;
    dsa: TDataSource;
    aDSDesigner: TStringField;
    aDSDesigner2: TStringField;
    aDSDesigner3: TStringField;
    aDSDesigner4: TBCDField;
    aField: TStringField;
    procedure FormCreate(Sender: TObject);
    procedure sb_closeClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure aCalcFields(DataSet: TDataSet);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure sb_printClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cxyeform: Tcxyeform;

implementation
uses dmunit,cx_yeunit,printunit;
{$R *.dfm}

procedure Tcxyeform.FormCreate(Sender: TObject);
var ym:string;
begin
  if cx_yeform.CheckBox1.Checked=true then
    label2.Caption:=cx_yeform.MaskEdit1.Text+'年'+cx_yeform.MaskEdit2.Text+'月' ;
  if cx_yeform.CheckBox1.Checked=false then
    label2.Caption:='现在';
  if cx_yeform.CheckBox1.Checked=true then   //有截止年月时
  begin
    ym:=cx_yeform.MaskEdit1.Text+cx_yeform.MaskEdit2.Text;
    a.Close ;
    a.CommandText:='select 职工编号,账号,职工姓名,(sum(总系数)-sum(减少总系数)+(select 总期初余额 from 期初余额 where 明细表.职工编号=期初余额.职工编号)) 期末余额 '+
                 'from 明细表 where rtrim(年)+rtrim(月)<='''+ym+''' group by 职工编号,账号,职工姓名';
    a.Open ;
  end;
  if cx_yeform.CheckBox1.Checked=false then   //当无截止年月 时
  begin
    a.Close ;
    a.CommandText:='select 职工编号,账号,职工姓名,(sum(总系数)-sum(减少总系数)+(select 总期初余额 from 期初余额 where 明细表.职工编号=期初余额.职工编号)) 期末余额 '+
                 ' from 明细表 group by 职工编号,账号,职工姓名';
    a.Open ;
  end;
end;

procedure Tcxyeform.sb_closeClick(Sender: TObject);
begin
  dm.person.Active:=false;
  a.Active:=false;
  close;
end;

procedure Tcxyeform.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=119 then
    sb_close.Click ;
  if key=114 then
    sb_print.Click ;
end;

procedure Tcxyeform.aCalcFields(DataSet: TDataSet);
begin
  dm.person.Open ;
  dm.person.Locate('职工编号',a.FieldValues['职工编号'],[]);
  afield.Value:=dm.person.FieldValues['部门编号'];
end;

procedure Tcxyeform.DBGrid1TitleClick(Column: TColumn);
begin
  if column.FieldName<>'部门编号' then
    a.Sort:=column.FieldName;
end;

procedure Tcxyeform.sb_printClick(Sender: TObject);
begin
  Application.CreateForm(Tprintform, printform);
  printform.QuickRep3.BringToFront ;
  printform.QuickRep3.ReportTitle:='余额表预览';
  printform.QuickRep3.Preview ;
  printform.Free;
end;

end.

⌨️ 快捷键说明

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