报表设计问题(在线等)

kuailewangzi1212 2005-12-18 05:03:07
我的数据库一个领用表如下:
id llbm(领料部门) sp_id lb(商品类别) qty(数量) dj(单价)
我所生成的报表是首先按照llbm(领料部门)分组,然后按照lb(商品类别) 分组如下
///////////////////////////////////
餐饮部
a类
spa dj qty
spb dj qty
spc dj qty
b类
sp1 dj qty
sp2 dj qty
sp3 dj qty
技术部
a类
spa dj qty
spb dj qty
spc dj qty
b类
sp1 dj qty
sp2 dj qty
sp3 dj qty
。。。
/////////////////////////////////////////
报表做出来之后,发现有时候有这种情况,如下:
工程部
工程用品
轴承 ...
工程部
工程用品
轴承 ...
其他用品
壁纸刀片...
花卉类
水仙花
//////////////
以上(工程部
工程用品
轴承 ...
)出现了两次,请问我如何把他们去掉


...全文
251 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuailewangzi1212 2005-12-20
  • 打赏
  • 举报
回复
small_cloud(云起云落) ( )
///////////////////////////////////
哈哈:谢谢了!可以实现,结贴
small_cloud 2005-12-19
  • 打赏
  • 举报
回复
显示各个分组中记录的编号:建立一个计算列,getrow() - first(getrow() for group 1 ) + 1 ,first(getrow() for group 1 ) 求得的该分组当中的的第一行,相当于min(getrow() for group 1) ,last(getrow() for group 1) ,max(getrow() for group 1 )则求该分组当中的最后一行的行号.
显示各个分组的序号:建一个计算列,cumulativesum(if column1 = column1[-1],0,1) for all).其中column1指分组的列名.
kuailewangzi1212 2005-12-19
  • 打赏
  • 举报
回复
small_cloud(云起云落)
///////////////////////
谢谢!我测试一下
small_cloud 2005-12-19
  • 打赏
  • 举报
回复
level指要查找的分组的分组号.
small_cloud 2005-12-19
  • 打赏
  • 举报
回复
用函数findgroupchange(row,level)
row=dw_1.rowcount()
for i=1 to row
i=dw_1.findgroupchange(i,l)
column1=dw_1.object.column_1(i)
....
if i<=0 then
i=row
next
kuailewangzi1212 2005-12-19
  • 打赏
  • 举报
回复
回复人: small_cloud(云起云落) ( )
////////////////////////////////////
谢谢!请问怎么循环读出呀?
kuailewangzi1212 2005-12-19
  • 打赏
  • 举报
回复
zeeeitch(小浩) ( )
///////////////////////////
我已经排序了,还是不行的
zeeeitch 2005-12-18
  • 打赏
  • 举报
回复
排序一下 : llbm(领料部门) lb(商品类别)
small_cloud 2005-12-18
  • 打赏
  • 举报
回复
显示问题,我在PB6.5中也遇到过,你用循环读出来,会发现没有重复的.
kuailewangzi1212 2005-12-18
  • 打赏
  • 举报
回复
lw1a2(一刀 知我者谓我心忧,不知我者谓我何求)
/////////////
谢谢!
我的sql语句如下:
/////////////////////////////////////
SELECT V_LLMXB.NAME,
V_LLMXB.DW_ID,
V_LLMXB.LB_ID,
V_LLMXB.GG,
V_LLMXB.dj,
V_LLMXB.qty,
V_LLMXB.lllx,
V_LLZB.llbm_id
FROM V_LLMXB,
V_LLZB
WHERE ( V_LLMXB.bill_id = V_LLZB.ID ) and
( ( V_LLZB.status = 1 ) AND
( V_LLZB.gs_id = :gs_id ) AND
( V_LLZB.ck_id = :ck_id ) AND
(V_LLZB.updatetime >= :r1 AND
V_LLZB.updatetime <= :r2) )
//////////////////////////////////////////////
我分组是在报表设计器中设计的
lw1a2 2005-12-18
  • 打赏
  • 举报
回复
查询语句怎么写的?
这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。 FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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