QuickReport作合计

sunliwen780502 2006-08-05 06:50:21
对于动过函数获得的数据,作合计,为什么不能正常显示呢?
下面的是sql语句.其中在QuickReport合计Sum(planqty), Sum(planamt) 都能显示,而
completeqty, completeamt, notcompleteqty, notcompleteamt 都是通过函数的到,
放在QRExpr组件上不显示正确结果,始终显示0,是不是,QRExpr组件不支持通过函数获得的数据呢?

select pp.goodsid as id, lg.code as GoodsCode,
lg.name as GoodsName, lg.specs as GoodsSpecs,
lu.unitname as UnitName,
sum(pp.quantity) as planqty, sum(pp.amount) as planamt,
sum(dbo.getreferqty_base(1,m.billid,pp.goodsid,pp.unitid)) as completeqty,
sum(round(dbo.getreferqty_base(1,m.billid,pp.goodsid,pp.unitid)*pp.price,2)) as completeamt,
sum(pp.quantity-dbo.getreferqty_base(1,m.billid,pp.goodsid,pp.unitid)) as notcompleteqty,
sum(pp.amount-round(dbo.getreferqty_base(1,m.billid,pp.goodsid,pp.unitid)*pp.price,2)) as notcompleteamt,
sum(round(dbo.getreferqty_base(1,m.billid,pp.goodsid,pp.unitid)*pp.price,2)) / sum(pp.amount) as completerate
from p_purchaseplan m
left join p_purchaseplandetail pp on m.billid = pp.billid
left join l_department dep on m.departmentid = dep.departmentid
left outer join l_goodsunit lu on pp.unitid = lu.unitid
left outer join l_goods lg on pp.goodsid = lg.goodsid
left outer join l_goodstype lt on lg.gdtypeid = lt.gdtypeid
where m.billid >= 0 and m.billstate = 1 and m.billkind = 2
and m.plantype = 1 and billdate between '2006-1-1' and '2006-12-31'
group by pp.goodsid, lg.code, lg.name, lg.specs, lu.unitname
order by lg.code
...全文
194 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CACACACACA 2006-08-05
  • 打赏
  • 举报
回复
应该不会吧.
报表是通过遍例DATASET得到合计的.
您的 DBGrid 需要合计行吗?想做出速达 E2 一样的单据录入界面吗?有了 QLDBGrid Suite,这些都不是问题! 请下载演示程序: http://www.nicesoft.net/downloads/qlldemo.zip 特性 1. 中国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! 2. 支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。中国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! 3. 可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! 4. 支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 5. 自适应宽度。Grid 中的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 6. 回车键转换为制表键。可将回车键当制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 7. 结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制报表的麻烦!!! 8. 结合 TQLDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 中的品名输入方式),而不必在大量的产品目录中来回查找或强迫用户记忆大量的产品代码!!! 9. 继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级 更多强大的特性.... 需要源代码请购买。 http://www.nicesoft.net master@nicesoft.net QQ43645896
QLDBGrid 是一款增强型的 DBGrid 组件,继承自标准 DBGrid,并增加了许多强大实用的功能,如财务金额栏,嵌入外部组件等等。特性----* 中国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! * 支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。中国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! * 可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! * 支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 * 自适应宽度。Grid 中的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 * 回车键转换为制表键。可将回车键当制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 * 结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制报表的麻烦!!! * 结合 TQLDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 中的品名输入方式),而不必在大量的产品目录中来回查找或强迫用户记忆大量的产品代码!!! * 继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级
你的 DBGrid 需要合计行吗?想做出速达 E2 一样的单据录入界面吗?有了 QLGrid Suite,这些都不是问题! TQLDBGrid --------- 1、中国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! 2、支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。中国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! 3、可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! 4、支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 5、自适应宽度。Grid 中的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 6、回车键转换为制表键。可将回车键当制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 7、结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制报表的麻烦!!! 8、结合 TDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 中的品名输入方式),而不必在大量的产品目录中来回查找或强迫用户记忆大量的产品代码!!! 9、继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级 更多强大的特性.... TQLDBLookupComboBox ------------------- 标准 DBLookupComboBox 的替代品,提供了方便中国用户使用的强大特性 1、弹出的列表框中的内容可按拼音码或原文(包含方式)查找!!! 2、弹出的列表框的下面可显示相应的操按钮,如显示新建、修改、置空按钮来针对当前记录提供操!!! 3、属性完全兼容 TDBLookupComboBox ......
Report Machine 3.0 =================== 这是一个报表控件包,For Borland Delphi Versions 4,5,6,7.100% 源码. 最后更新日期:2003.4.15 目录 ----- 1.说明 2.特点 3.最后更新 4.历史 5.安装 6.Demo程序 7.注册 8.版权说明 9.感谢 1.说明 ---- Report Machine是一个报表控件包, Report Machine is reporting tool component. It consists of report engine,designer and preview. Its capabilities comparable with in QuickReport,ReportBuilder. It written on 100% Object Pascal and can be installed in Delphi 4/5/6 and C++Builder 5/6. 2.特点 ---- 复杂的报表?在report machine面前,还会有什么复杂的报表存在吗? 不,不会有的,因为这是一个功能强大,完全自动化、完全自由设计的报表控件。 对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以 完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表! 想想fast report 吧,report machine会fast report会的,还会它不会的! 这是一个完全中文化报表控件,支持delphi3到delphi6,BCB3到BCB6。 它的最大优点就是:强大与自由! report machine目前主要能做的: 一、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。 二、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。 三、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。 四、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。 五、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制工具。其使用方法和delphi中的控件是一样的。 六、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。 七、完全支持d4--d7,c5--c6。 八、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。 九、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。 十、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。 十一、多种格式转换,可以把做出的报表转换为html,xml,bmp,jpeg等等格式。 十二、自动对超长记录折行,超长的内容也会自动折行。 十三、最新增加TRMGridReport,类似于电子表格,非常非常适合制复杂报表 最新更新和问题解答请访问论坛:www.pcjingning.com 3.最后更新 -------- v.3.0(Build 2003/04/15) - 发布ReportMachine3.0 4.历史记录 -------- 2003.04.15 Report Machine 3.0 5.安装 ----- 以在delphi5中安装举例,在别的版本delphi中请用相应版本的包,比如在delphi6中, rm_r50.dpk换成rm_r60.dpk即可 1.首先安装tb97,或者将tb97中的源程序释放到c:\rm\source目录中,tb97下载地址: http://www.reportmachine.net/download/tb97.zip 2.在Delphi IDE中卸载以前的Repo

604

社区成员

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

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