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

📄 c_cash.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_cash;

interface

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

type
  Tcfrm_cash = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Label5: TLabel;
    Label4: TLabel;
    Label3: TLabel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    date1: TDateTimePicker;
    date2: TDateTimePicker;
    e_hzmx: TComboBox;
    e_hjzc: TEdit;
    e_hjye: TEdit;
    e_hjsr: TEdit;
    BitBtn1: TBitBtn;
    DataSource1: TDataSource;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_cash: Tcfrm_cash;
   sr,zc,ye: Variant;

implementation
uses datam;

{$R *.dfm}

procedure Tcfrm_cash.FormShow(Sender: TObject);
begin
dm.ADOQ_cx.Close;
  dm.adoq_cx.SQL.Clear;
  dm.ADOQ_cx.SQL.Add('select 日期,sum(收入) as 收入,sum(支出) as 支出,sum(收入)-sum(支出) as 余额 from cashbook where 日期>=:rq1 and 日期<=:rq2 group by 日期');
  dm.ADOQ_cx.Parameters[0].value:=datetostr(date());
  dm.ADOQ_cx.Parameters[1].Value:=datetostr(date());
  dm.ADOQ_cx.Open;
  date1.Date:=date();
  date2.Date:=date();
   sr:=0;
   zc:=0;
   ye:=0;
   dm.ADOQ_cx.First;
   while not dm.ADOQ_cx.Eof do
     begin
      sr:=sr+dm.adoq_cx.fieldbyname('收入').asvariant;
      zc:=zc+dm.adoq_cx.fieldbyname('支出').asvariant;
      dm.ADOQ_cx.next;
     end;
   e_hjsr.Text:=formatfloat('0.00',sr);
   e_hjzc.Text:=formatfloat('0.00',zc);
   e_hjye.Text:=formatfloat('0.00',sr-zc);
end;

procedure Tcfrm_cash.BitBtn1Click(Sender: TObject);
begin
 if date1.Date>date2.Date then
     begin
      application.MessageBox(pchar('起始日期不能大于终止日期!')
         ,pchar('提示'),48);
      date1.SetFocus();
      exit;
     end;
   if e_hzmx.Text='汇总' then
     begin
      dm.ADOQ_cx.Close;
      dm.adoq_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.Add('select 日期,sum(收入) as 收入,sum(支出) as 支出,sum(收入)-sum(支出) as 余额 from cashbook where 日期>=:rq1 and 日期<=:rq2 group by 日期');
      dm.ADOQ_cx.Parameters[0].value:=datetostr(date1.DATE);
      dm.ADOQ_cx.Parameters[1].Value:=datetostr(date2.DATE);
      dm.ADOQ_cx.Open;
     end
   else
    begin
      dm.ADOQ_cx.Close;
      dm.adoq_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.Add('select 日期,摘要,sum(收入) as 收入,sum(支出) as 支出,sum(收入)-sum(支出) as 余额 from cashbook where 日期>=:rq1 and 日期<=:rq2 group by 日期,摘要');
      dm.ADOQ_cx.Parameters[0].value:=datetostr(date1.DATE);
      dm.ADOQ_cx.Parameters[1].Value:=datetostr(date2.DATE);
      dm.ADOQ_cx.Open;
     end;
   sr:=0;
   zc:=0;
   ye:=0;
   dm.ADOQ_cx.First;
   while not dm.ADOQ_cx.Eof do
     begin
      sr:=sr+dm.adoq_cx.fieldbyname('收入').asvariant;
      zc:=zc+dm.adoq_cx.fieldbyname('支出').asvariant;
      dm.ADOQ_cx.next;
     end;
   e_hjsr.Text:=formatfloat('0.00',sr);
   e_hjzc.Text:=formatfloat('0.00',zc);
   e_hjye.Text:=formatfloat('0.00',sr-zc);
end;

procedure Tcfrm_cash.FormClose(Sender: TObject; var Action: TCloseAction);
begin
      dm.ADOQ_cx.Close;
      dm.adoq_cx.SQL.Clear;
      release;
end;

end.

⌨️ 快捷键说明

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