★ 项目快到期了,这样的分组报表如何用ActiveReport实现 ★

chinabill 2004-06-17 03:51:27
[引言]我的项目快到期了,可惜我当初是把ActiveReport报表学习放在最后完成,结果现在连学习的时间都没有了,6月末是协议结束期,我急啊!!!
我把问题简单写一下,望各位ActiveReport高手明鉴啊-----→

我有一主表 案卷表 Roll(id,pname,date,user)
从表 事项表 Proceed(id,pname,rollid...)

这两表的对应关系是 Roll(id) → Proceed(rollid)
Roll(pname)→Proceed(pname)

说明:一个案卷(Roll)要办很多个事项(Proceed),事项是保存在Proceed表中的。
现在,以案卷为单位进行事项明细报表打印。效果图如下:

====================================
案卷号 事项名 时间 用户
====================================
20001 事项一 20040615 用户甲
事项二
------------------------------------
20013 事项二 20040616 用户乙
事项四
事项一
------------------------------------
...........
------------------------------------

本人只会对AV报表的简单应用,只是对这么复杂的分组报表束手无策,不过,本人对SQL语言复杂查询还是没问题的!请各位专家给一个解决方案好吗?能让我度这个难关!
...全文
416 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinabill 2004-06-24
  • 打赏
  • 举报
回复
我已经为此另开贴子,恳请大家帮忙UP一下
chinabill 2004-06-24
  • 打赏
  • 举报
回复
纠正一下:
为避免不必要的误解,“事项数据和用户数据要和案卷号、类别位于同一行的。”
这句话就当我没说。只要能实现如上的界面就可以。
chinabill 2004-06-24
  • 打赏
  • 举报
回复
我有一主表 案卷表 Roll(id,sort)
从表 事项表 Proceed(id,pname,rollid)
从表 用户表 User(id,uname,rollid)

以上除了id、rollid是整型数据,其它均是字符型数据。

这两表的对应关系是 Roll(id) → Proceed(rollid)
Roll(id) → User(rollid)

我简单的添加几条记录,您可用Access建表添加记录,谢谢。

Insert into Roll Values(2001,'民事')
Insert into Roll Values(2002,'经济')

Insert into Proceed Values(1,'出生证明',2001)
Insert into Proceed Values(2,'学历证明',2001)
Insert into Proceed Values(3,'犯罪证明',2002)
Insert into Proceed Values(4,'出生证明',2002)

Insert into User Values(1,'王先生',2001)
Insert into User Values(2,'王先生',2002)
Insert into User Values(3,'赵先生',2001)
Insert into User Values(4,'高先生',2001)

实现的报表样式如下:
========================================
案卷号| 事项名 | 类别 | 用户
======|==========|==========|==========
2001 |出生证明 | 民事 | 王先生
|学历证明 | | 赵先生
| | | 高先生
------|----------|----------|----------
2002 |无犯罪证明| 经济 | 王先生
|出生证明 | |
========================================

事项数据和用户数据要和案卷号、类别位于同一行的。并且,表格的竖线要随着该组的高度自动调整,这样,才不会出现预览时竖线“断”了的现象。
有时想到的和实际结果不一样,所以麻烦大家亲自建表(Access),生成报表,实际操作一下。
谢谢了。
icedut 2004-06-23
  • 打赏
  • 举报
回复
你把你的记录集(一部分就可以)
还有你要的表格形式

不过说实话,我没做过你要的那种报表
我一直认为不能实现呢

看了上面一位高手的说法,倒觉得可以实现了,不过就是难了点
chinabill 2004-06-23
  • 打赏
  • 举报
回复
我现在有些乱,今晚回去整理一下,明天把记录集发给你。谢谢你。
icedut 2004-06-23
  • 打赏
  • 举报
回复
你现在的表格实现了什么样子
具体的记录ji又是什么样子
chinabill 2004-06-23
  • 打赏
  • 举报
回复
fuanwei(草原上狂奔的蜗牛) 你的办法是可行,可是用户要实现如下的界面

====================================
案卷号 事项名 时间 用户
====================================
20001 事项一 20040615 用户甲1
事项二 用户甲2
事项三

事项数据和用户数据要和案卷号、时间位于同一行的。唉~~
luler 2004-06-21
  • 打赏
  • 举报
回复
VsReport 用来设计套打很快捷.吵强.唯一的缺点就是不支持中文字段,还有,编码还得每次用程序修改,不过这些问题都简单解决啦.有兴趣的朋友可以到俺的论坛讨论.

http://lulersoft.5uer.com/forum/
chinabill 2004-06-21
  • 打赏
  • 举报
回复
我的msn: muguanet@hotmail.com
蜗牛的办法有些麻烦。
icedut 2004-06-21
  • 打赏
  • 举报
回复
fuanwei(草原上狂奔的蜗牛)的方法是你要的结果么


fuanwei 2004-06-21
  • 打赏
  • 举报
回复
GroupHeader1里放2个field控件,字段分别为案卷号和时间,就行了,显示的格式如下:
====================================
案卷号 事项名 时间 用户
====================================
20001 20040615
事项一 用户甲1
事项二 用户甲2
事项三
chinabill 2004-06-21
  • 打赏
  • 举报
回复
呵呵,谢谢各位专家献言献策。我谨代表 www.Emugua.net 工作室向您表示敬意。
不过,我回去后,又发现另一个问题了,各位好事帮到底啊:)

现在又多了一个从表User

我有一主表 案卷表 Roll(id,date)
从表 事项表 Proceed(id,pname,rollid)
从表 用户表 User(id,uname,rollid)

这两表的对应关系是 Roll(id) → Proceed(rollid)
Roll(id) → User(rollid)

解释一下:多个用户(User)做为一组人,来办很多事项(Proceed),这些事项组成一个案卷(Roll),当然,我们仍然以案卷做为一个基本单元,生成统计报表。

====================================
案卷号 事项名 时间 用户
====================================
20001 事项一 20040615 用户甲1
事项二 用户甲2
事项三
------------------------------------
20013 事项二 20040616 用户乙1
事项四 用户乙2
事项一 用户乙3
用户乙4
------------------------------------
注意:“用户”和“事项”没有任何关系,它们只是通过Roll“联结”。
上面的图示效果各位能看明白。
------------------------------------

现在要解决的问题是:分组实现报表我刚刚学会了,我们知道,在读取记录时,是每一条的读取的,然后将重复的案卷号和时间隐藏,事项名就单列出来了,达到分组目的。可是现在又多了用户表,该如何实现上面的效果呢?
chinabill 2004-06-21
  • 打赏
  • 举报
回复
谢谢各位专家!问题已经得到完美的解决。
我一会儿结贴!再次感谢各位专家!
fuanwei 2004-06-21
  • 打赏
  • 举报
回复
"Select * From 表 where and 日期 >= '" & format(DTPicker1.Value,"yyyy-MM-dd)" & "' and 日期 <= '" & FORAMT(DTPicker2.Value,"yyyy-MM-dd") & "' group by 日期"
zerg2001 2004-06-20
  • 打赏
  • 举报
回复
HEHE,用VsReport意味着有很多东西要自已写的,VsReport的优势是可以完全支持VsFlexGrid。我有写了一个VsReport打印类用来绑定表格(使每个表格都可以自定义打印方式),不过复杂报表还是用Ar来画。

楼主的问题不知道有没有解决?有好多大大已经指点过了。偶还是先闪了。
luler 2004-06-19
  • 打赏
  • 举报
回复
忘记说了vsReport使用简单得要命,呵呵,十几分钟上手.
luler 2004-06-19
  • 打赏
  • 举报
回复
用ActiveReport极耗费资源:((
刚放弃改用了vsReport.
fuanwei 2004-06-18
  • 打赏
  • 举报
回复
在AV报表中建个GroupHeader1(鼠标右键,添加),GroupHeader1有个datafield属性,设置一下你分组的字段(案卷号),添加Field1在GroupHeader1里,detail填写正常的字段.
射天狼 2004-06-18
  • 打赏
  • 举报
回复
发完了,接收吧!!
icedut 2004-06-18
  • 打赏
  • 举报
回复
我上不了qq
你做出来了就好了
我也要下班了
加载更多回复(29)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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