数据库中基于不同记录中同一字段的函数运算(50分)

  • 主题发起人 主题发起人 yifeibbs
  • 开始时间 开始时间
Y

yifeibbs

Unregistered / Unconfirmed
GUEST, unregistred user!
有如下功能需要实现:

____________________________________________________________
票据号:cd0101001 供应商:无党山 日期:01/01/01
____________________________________________________________
商品编号 小型 中型 大型 小计 价格 金额
001 1 1 1 3 0.5 1.5
002 0 5 0 5 0.7 3.5
003 1 1 2 4 0.4 1.6
____________________________________________________________
小计合计:?????? 金额总计:??????

在单机单用户程序中;使用桌面数据库构造如上系统;主表存储票据号
信息;从表存储票据详细内容;小计、金额是计算型字段;如果基于这
两个字段,实现小计合计(value=3+5+4)、金额总计(value=1.5+3.5+1.6)
应该怎么做?
 
select sum(小计),sum(金额) from .....
 
接上个回答
Qrlabel1.caption:=inttostr(fields[0].asinteger);
Qrlabel2.caption:=formatfloat('0',fields[1].asfloat);
 
如果你是在 quickrep中实现该功能,
只要用两个TQrexpr控件,
设置expression属性为sum(小计),sum(金额)就行
如果在别的地方,用ugvanxk的方法也行
 
这两个字段需要实时计算;它们显示在窗口中,当浏览数据库的时候它们也显示出来。
提醒大家注意:小计合计=3+5+4=12,金额总计=1.5+3.5+1.6=6.6;
现在我已经解决了一半:解决方法是当总表触发caclefields时,全局变量qxjhj:=0;
当从表触发caclefields时,先计算出小计的值,然后取得该值,在全局变量上增加该小计
的值。这样就计算出了小计总计的值,可是在显示上只有在窗体触发浏览上一条,下一条
时才能在窗体上显示该变量。

我有实现该功能的一个软件的截面图,可是不知道该怎么给大家看·!?
 
大家的解答我虽然不能领会其精髓。
但是最后终于在我使用了一个“ehlib”控件包之后解决了。
————————
我在这里恭喜大家,你们得到了该题的分数50,并且平分。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
回复
0
查看
782
爱音乐的孩子是小白
后退
顶部