在Delphi编程部分我们主要完成报表所需参数的传递,因为要在好几个过程中访问这些参数,所以要将这几个参数设为全局变量: private line1line2integer //保存行号 inputXjintemp //入库小计 ,每5行后清零,下同 outXjoutemp //出库小计 CajiaXjcatempReal //差价小计 下面是几个主要过程的代码清单。 //单张表单数据合并过程 procedure TInputForm.frDBDataSet1NextSender TObject var ReCountinteger begin ReCount = Adoruku.RecordCount Incline1// 该变量传至报表文件控制打印空行 Incline2// 该变量控制清零小计值 if not Adoruku.Eof then begin inputXj=inputXj+ADORuku.fieldByName'入库金额'.AsFloat outXj=outXj+Adoruku.fieldByName'出库金额'.AsFloat CajiaXj=CajiaXj+AdorukuJXCJ.AsFloat end //每5行后将小计值清零 if line2 mod 5 = 0 and ReCount>line2 div 55 then begin intemp=inputXj outemp=outXj Catemp=CajiaXj inputXj=0 outXj=0 CajiaXj=0 end //到达数据集末尾时给变量赋值 if Adoruku.Eof then begin intemp=inputXj outemp=outXj Catemp=CajiaXj end end 参考一下吧! 要还有问题就看一下这个吧! http://www.qqread.com/cpp/q432195300.html
private
line1line2integer //保存行号
inputXjintemp //入库小计 ,每5行后清零,下同
outXjoutemp //出库小计
CajiaXjcatempReal //差价小计
下面是几个主要过程的代码清单。
//单张表单数据合并过程
procedure TInputForm.frDBDataSet1NextSender TObject
var
ReCountinteger
begin
ReCount = Adoruku.RecordCount
Incline1// 该变量传至报表文件控制打印空行
Incline2// 该变量控制清零小计值
if not Adoruku.Eof then
begin
inputXj=inputXj+ADORuku.fieldByName'入库金额'.AsFloat
outXj=outXj+Adoruku.fieldByName'出库金额'.AsFloat
CajiaXj=CajiaXj+AdorukuJXCJ.AsFloat
end
//每5行后将小计值清零
if line2 mod 5 = 0 and ReCount>line2 div 55 then
begin
intemp=inputXj
outemp=outXj
Catemp=CajiaXj
inputXj=0
outXj=0
CajiaXj=0
end
//到达数据集末尾时给变量赋值
if Adoruku.Eof then
begin
intemp=inputXj
outemp=outXj
Catemp=CajiaXj
end
end
参考一下吧!
要还有问题就看一下这个吧!
http://www.qqread.com/cpp/q432195300.html