帮我解决这个问题,200分送上!

fstao 2000-02-24 11:30:00
delphi的问题:
用paradox7建一新表table1.db,字段和数据如下:
name price
a1 10
a2 20
a3 30
... ...

假如有一共有108条记录,我想打印时,每一页纸只显示10条记录,并且
有每一页的页合计(合计字段price),最后有一个总合计。有一个朋友建议我这样做:
先建立一个临时表,然后编程(利用循环),利用内部记数,先把第1条到第10条记录insert
到临时表,再插入一个“页合计”,然后用循环再把从第11至20条记录insert到临时表,
再插入一个“页合计”,不停的循环下去,直到最后再插入“总合计”。请问如何编程?
能不能给我一个demo。fstao@126.com。
...全文
310 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
supershan 2000-02-28
  • 打赏
  • 举报
回复
晚来一步
AcherMagic 2000-02-26
  • 打赏
  • 举报
回复
QuickReport打印时会将连接的DataSet
整个循环一遍,利用这一特点只要在DataSet
的AfterScroll事件中判断QuickReport.RecordNumber
是否整除10,如果是就调用QuickReport.NewPage;

程序如下:
先根据要页合计的字段定义对应的此Form的私有变量
假设为 price,SUMALL :Real 然后在打印时赋初始值为0;

假设 有一Form DataSet是Query1
将页合计放在PageFooter中
合计的 QRLabel 为 lblSUM

Procedure TForm1.btnPrintClick(Sender : Tobject);
begin
Price := 0;
SUMALL := 0;
end;

procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
var
fValue : real;
begin
if QuickReport.RecordNumber = QuickReport.RecordCount then
begin
lblSUM.Caption := Format('%8.2f',[SUMALL]);
end;
if (QuickReport.RecordNumber mod 10 = 0) and (QuickReport.RecordNumber>0) then
begin
lblSUM.Caption := Format('%8.2f',[Price]);

q.NewPage ;

Price := 0;
end;
fValue := StrToFloat(Format('%8.2f',[Query1.FieldByName('Price').AsFloat]));
Price := Price+fValue;
SUMALL := SUMALL+fValue;
end;
laotan 2000-02-26
  • 打赏
  • 举报
回复
我已给您发了源码demo
fstao 2000-02-26
  • 打赏
  • 举报
回复
我不想用报表工具,只想在表上显示就行了,谁能给我更详细的demo。laotan还可以,不过最好是再详细一点。
盘谷 2000-02-25
  • 打赏
  • 举报
回复
Firing_Sky能不能提供一段源程序啊!

我们都想看一看!
sky__horse 2000-02-25
  • 打赏
  • 举报
回复
在www.digital-metaphors.com可以找到ReportBuilder Pro for Delphi 5(有源码)
fstao 2000-02-25
  • 打赏
  • 举报
回复
sky_horse:如果用reportbuilder pro能否这样做:
这个表一定要有表格,每一页纸一定要有每一页的合计(简称页合计),最后一页要有总合计?如果行,你能否e_mail一个demo。
supershan:你能否再详细一点。
sky__horse 2000-02-25
  • 打赏
  • 举报
回复
何不试试 ReportBuilder Pro
分页和总计都可以保证,本页合计我还没试过
supershan 2000-02-25
  • 打赏
  • 举报
回复
一大清早来了,就想给你解决,可偏偏赶上机器坏了,修了一天。
我都已经给你解决了上个问题,这个与上个不是大同小异吗?
如果你能增加一个ID字段和一个PX字段,此问题就很单了。
ID进行计算插入数,PX做为唯一索引,用于显示,如果你愿改库结构,用SQL我可以帮你,如果不改我也无能为力
Firing_Sky 2000-02-24
  • 打赏
  • 举报
回复
为什么不用报表设计器?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧