在fastreport 中如何求当页小计? ( 积分: 50 )

  • 主题发起人 主题发起人 panlong
  • 开始时间 开始时间
P

panlong

Unregistered / Unconfirmed
GUEST, unregistred user!
在fastreport 中如何求当页小计?
 
在fastreport 中如何求当页小计?
 
请高手多多指教!
 
加一个PageFooter,中里面加上MEMO,MEMO中写上[SUM(字段)]
 
FlashDance:加个PageFooter后,小计都在最后,如果当页数据不满,它不能跟在数据的后面.
 
那就加个child,在child里计算。
 
我有个例子,什么给你呢
 
我也急着想知道,dos1234,能把例子发给我吗,邮箱:gazhcn@sina.com,谢谢,我另外开个帖送分!http://www.delphibbs.com/delphibbs/dispq.asp?lid=3119099
 
to: gazh
示例邮件已发请查收
 
todo
s1234:
示例邮件能否给我一份,邮箱:mypanlong@163.com 谢谢!
 
[:)]to gazh
能给我发一份吗?谢谢
 
要的话,没有联系方式什么发呀 ^_^
 
fastreport自帶黨頁小計阿
我找找例子先稍等
 
在Page foot裏面丟個Memo
例如
[SUM([trim([adoq_Detail."DRBF_QTY"])])]
是本頁統計DRBF_QTY字段的
 
todo
s1234:
你的邮件我已经收到。谢谢!顺便问一下:你的例子在我的fastreport3.07中打不开,能不能把你是如何实现的用文本方式写一下。
 
简单写一下,请测试....
----------------------------------------------------------------------
01. 其实也就用每页固定行数的方法来统计,这里假设为每页50行
02. 假设表字段有FNo,FSum,并在每页的页尾做该页FSum统计。
表的数据集为ADOTable1
03. 放在frReport1、frDBDataSet1
设置frDBDataSet1的dataset为ADOTable1
04. 新建一报表文件
05. 定义两个自定义变量frFlag和i
在报表设计器中file->data dictionary->...
06. 在报表设计中放下如下组件
MasterData1、GroupHeader1、GroupFooter1和Child1
07. 设置MasterData1的dataset为frDBDataSet1
在MasterData1上放两个Memo,并设置值(text)为[FNo]和[FName]
08. 设置GroupHeader1的分组条件(condition)为: [[INT([[frFlag]/50])]]
09. 写GroupFooter1的OnBeforePrint脚本为:
begin
i:=[frFlag MOD 50];
While (i<50) and (i>0)do
begin
ShowBand(Child1);
i:=i+1;
End
end
在GroupFooter1上放一个Memo,并设置值(text)为: [Sum(FSum)]
10. 打开表并打印预揽
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ADOTable1.Active then
ADOTable1.Open;

frReport1.PrepareReport ;
frReport1.ShowReport ;
end;
 
我看了例子,有两个问题:
1、在我的电脑上运行那个exe文件,预览后本页小计不是在本页最后,跑到下页去了
2、你是用每页固定行数的方法来统计,因此每行都是固定大小,但实际情况每行高度不一样,实际行数并不一样,因此这个方法实际来说可能不适用
谢谢解答:D
 
后退
顶部