吴学文24个经典案例 经典案例 财务管理系统(10)[3]
经典案例 财务管理系统(10)[3]
// 在初始化时统计工作的完成
procedure TSumAccount forinitial;
begin
//根据不同的状态设置SQL代码 以计算不同的平衡情况
![吴学文24个经典案例 经典案例 财务管理系统(10)[3]](http://img.zhputi.com/uploads/8508/85081c4feb18f564da3f337b06eacb1c33248.jpg)
adoquery Close;
adoquery SQL Clear;
adoquery SQL Add( select 科目代码科目名称 );
adoquery SQL Add( (case when 余额方向= 借方 then 期初余额 else end 累计借方) );
adoquery SQL Add( as 期初借方 );
adoquery SQL Add( (case when 余额方向= 贷方 then 期初余额 else end 累计贷方) );
adoquery SQL Add( as 期初贷方 );
adoquery SQL Add( 累计借方 as 本期发生借方累计贷方 as 本期发生贷方 );
adoquery SQL Add( case when 余额方向= 借方 then 期初余额 else end as 期末借方 );
adoquery SQL Add( case when 余额方向= 贷方 then 期初余额 else end as 期末贷方 );
adoquery SQL Add( from 帐簿初始化表 where 累计借方<> or 累计贷方<> or 期初余额<> );
adoquery Open;
//统计数据
sumtable;
end;
// 在正式使用时统计工作的完成
procedure TSumAccount foruse;
begin
//根据不同的状态设置SQL代码 以计算不同的平衡情况
adoquery Close;
adoquery SQL Clear;
adoquery SQL Add( select a 科目代码 b 科目名称 );
adoquery SQL Add( (case when a 余额方向= 借方 then 期初余额 else end ) );
adoquery SQL Add( as 期初借方 );
adoquery SQL Add( (case when a 余额方向= 贷方 then 期初余额 else end) );
adoquery SQL Add( as 期初贷方 );
adoquery SQL Add( 本期借方合计 as 本期发生借方本期贷方合计 as 本期发生贷方 );
adoquery SQL Add( case when a 余额方向= 借方 then 余额 else end as 期末借方 );
adoquery SQL Add( case when a 余额方向= 贷方 then 余额 else end as 期末贷方 );
adoquery SQL Add( from 本期汇总帐簿 as a 科目表 as b );
adoquery SQL Add( where a 科目代码 = b 科目代码 and (本期借方合计<> );
adoquery SQL Add( or 本期贷方合计<> or 期初余额<> or 余额<> ) );
adoquery Open;
//统计数据
sumtable;
end;
// 对数据进行统计
procedure TSumAccount sumtable;
var
count i:integer;
val val val val val val :double;
begin
//计算平衡表中的记录数
count:=datasource DataSet RecordCount;
//统计信息 判断是否试算平衡
val := ;
val := ;
val := ;
val := ;
val := ;
val := ;
while not datasource DataSet Eof do
begin
val :=strtofloat(dbgrid Fields[ ] Text)+val ;
val :=strtofloat(dbgrid Fields[ ] Text)+val ;
val :=strtofloat(dbgrid Fields[ ] Text)+val ;
val :=strtofloat(dbgrid Fields[ ] Text)+val ;
val :=strtofloat(dbgrid Fields[ ] Text)+val ;
val :=strtofloat(dbgrid Fields[ ] Text)+val ;
datasource DataSet Next;
end;
[ ] [ ] [ ] [ ] [ ]
lishixinzhi/Article/program/Delphi/201311/25050