//初始化表的设置 procedure TSumAccountFormShow(Sender: TObject); begin //设置表格表头显示与宽度 stringgridCells[]:=是否平衡; stringgridCells[]:=期初借方; stringgridCells[]:=期初贷方; stringgridCells[]:=本期发生借方; stringgridCells[]:=本期发生贷方; stringgridCells[]:=期末借方; stringgridCells[]:=期末贷方; stringgridCells[]:=合计; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridColWidths[]:=; stringgridRowHeights[]:=; stringgridRowHeights[]:=; end; //在初始化时统计工作的完成 procedure TSumAccountforinitial; begin //根据不同的状态设置SQL代码以计算不同的平衡情况 adoqueryClose; adoquerySQLClear; adoquerySQLAdd(select 科目代码 科目名称); adoquerySQLAdd((case when 余额方向=借方 then 期初余额 else end 累计借方)); adoquerySQLAdd(as 期初借方); adoquerySQLAdd((case when 余额方向=贷方 then 期初余额 else end 累计贷方)); adoquerySQLAdd( as 期初贷方); adoquerySQLAdd(累计借方 as 本期发生借方累计贷方 as 本期发生贷方); adoquerySQLAdd( case when 余额方向=借方 then 期初余额 else end as 期末借方); adoquerySQLAdd( case when 余额方向=贷方 then 期初余额 else end as 期末贷方); adoquerySQLAdd( from 帐簿初始化表 where 累计借方<> or 累计贷方<> or 期初余额<>); adoqueryOpen; //统计数据 sumtable; end; //在正式使用时统计工作的完成 procedure TSumAccountforuse; begin //根据不同的状态设置SQL代码以计算不同的平衡情况 adoqueryClose; adoquerySQLClear; adoquerySQLAdd(select a科目代码 b科目名称); adoquerySQLAdd((case when a余额方向=借方 then 期初余额 else end )); adoquerySQLAdd( as 期初借方); adoquerySQLAdd((case when a余额方向=贷方 then 期初余额 else end)); adoquerySQLAdd(as 期初贷方); adoquerySQLAdd(本期借方合计 as 本期发生借方 本期贷方合计 as 本期发生贷方); adoquerySQLAdd(case when a余额方向=借方 then 余额 else end as 期末借方); adoquerySQLAdd(case when a余额方向=贷方 then 余额 else end as 期末贷方); adoquerySQLAdd( from 本期汇总帐簿 as a 科目表 as b ); adoquerySQLAdd( where a科目代码 = b科目代码 and (本期借方合计<> ); adoquerySQLAdd( or 本期贷方合计<> or 期初余额<> or 余额<>)); adoqueryOpen; //统计数据 sumtable; end; [] [] [] [] |