用DATAREPORT打印报表可以分组打印,但只能分一次组,即在报表中只用一个分组,但报表中插入分组可以插入多个。
问1:报表中插入多个分组是否用于实现多分组的使用,如果不是,有何用途?
问2:本人在报表中只能实现一个分组的使用,可以实现在分组的基础上再分组吗?即实现报表格式如下:(按01分大组,再按01-01分小组,最后细节是01-01-01)
字段:a b c d
01 01-01 01-01-01 50
------------
01
01-01
01-01-01 50
01-01-01 60
------------
01
01-02
01-02-01 70
01-02-01 80
------------
02
02-01
02-01-01 90
02-01-01 20
希望知道的人多提点一下,我刚学VB不久,最好能有SQL语句(类似 SHAPE {}......),前后的设置和代码我都知道(如有要特别注意的请指明),就只能实现一次分组,如何才能实现分组再分组呢?
8 个解决方案
#1
用DATAPORT 還真沒有做過三次分組的
建議你弄到EXECL然後打印算了...
建議你弄到EXECL然後打印算了...
#2
当前可以在分组中分组!
主要是要绑定的记录集要设置对应的层次关系。
主要是要绑定的记录集要设置对应的层次关系。
#3
简单的方法就是加一个DataEnvironment,设置好分组以后,右键选择其“层次结构信息”就可以相关的SHAPE命令了
#4
当前可以在分组中分组!
主要是要绑定的记录集要设置对应的层次关系。
我就是不知道如何在当前分组中再分组,该怎么做?能说得详细一点吗?
还有就是上边的表有些错了(其实上边的表已经可以实现了,<分组时用两个字段>,只是每个小组中又出现大组的名字,大组的名字最好是只出现一次),最终的表应该是如下:
------------
01
-----------------------
01-01
01-01-01 50
01-01-01 60
------------
01-02
01-02-01 70
01-02-01 80
------------
02
----------------------
02-01
02-01-01 90
02-01-01 20
我在datareport中用了两个分组,但是跟用一个分组出现的结果是一样的,就是没办法实现大组的名字只出现一次.今天在书店看了一本书,里边有说复杂的报表如何做,但只有两页就说完了,大致是说用父子孙的关系在dataenvironment中建立好后,再把字段托到表中,我建好后在datareport中的datamember不知选哪个好,因为有四个选(DATASOURCE已选了DATAENVIRONMENT),不管选哪个都出错,不选也出错.是不是还有哪里没做好?每个命令的设置已分组了,就是总出错:从当前数据资源中取得行值失败(DATAMEMBER 什么都不选),报表部分与数据源不匹配(在四个中选一个).
主要是要绑定的记录集要设置对应的层次关系。
我就是不知道如何在当前分组中再分组,该怎么做?能说得详细一点吗?
还有就是上边的表有些错了(其实上边的表已经可以实现了,<分组时用两个字段>,只是每个小组中又出现大组的名字,大组的名字最好是只出现一次),最终的表应该是如下:
------------
01
-----------------------
01-01
01-01-01 50
01-01-01 60
------------
01-02
01-02-01 70
01-02-01 80
------------
02
----------------------
02-01
02-01-01 90
02-01-01 20
我在datareport中用了两个分组,但是跟用一个分组出现的结果是一样的,就是没办法实现大组的名字只出现一次.今天在书店看了一本书,里边有说复杂的报表如何做,但只有两页就说完了,大致是说用父子孙的关系在dataenvironment中建立好后,再把字段托到表中,我建好后在datareport中的datamember不知选哪个好,因为有四个选(DATASOURCE已选了DATAENVIRONMENT),不管选哪个都出错,不选也出错.是不是还有哪里没做好?每个命令的设置已分组了,就是总出错:从当前数据资源中取得行值失败(DATAMEMBER 什么都不选),报表部分与数据源不匹配(在四个中选一个).
#5
补充:书中用的链接不是用Microsoft Jet 4.0 OLE DB 的,好像是SQL还是客户之类的,这个有关系吗?
另外我把"层次结构信息"里的内容复制出来,捆到 MSH FlexGrid 能显示出来,也是我想要的层次效果,就是报表总报错.
另外我把"层次结构信息"里的内容复制出来,捆到 MSH FlexGrid 能显示出来,也是我想要的层次效果,就是报表总报错.
#6
在DE中先建立与数据库的连接Connection1
右键Connection1“添加命令”,添加一个command1,设置按字段a分组
再右键command1“添加子命令”,添加一个command2,设置与command1的关联为字段b,设置分组字段为b
然后添加一个rpt,设置datasource为DE的名称;datamember为command1,这个注意,不能用其它的,比如“command1_分组”之类
然后你右键rpt表头,选择“检索结构”,这样你就可以得到正确的报表结构了
设置txt属性的时候注意对应需要的分组命令(比如command1_分组等等)就可以了,分组字段不要设置datamember,细节要设置
大概就是这样,你多试试就可以了
右键Connection1“添加命令”,添加一个command1,设置按字段a分组
再右键command1“添加子命令”,添加一个command2,设置与command1的关联为字段b,设置分组字段为b
然后添加一个rpt,设置datasource为DE的名称;datamember为command1,这个注意,不能用其它的,比如“command1_分组”之类
然后你右键rpt表头,选择“检索结构”,这样你就可以得到正确的报表结构了
设置txt属性的时候注意对应需要的分组命令(比如command1_分组等等)就可以了,分组字段不要设置datamember,细节要设置
大概就是这样,你多试试就可以了
#7
Microsoft Jet 4.0 OLE DB是连接ACCESS数据库的,你根据自己的数据库,选择相应的驱动
#8
多谢 vbman2003(家人) ,问题己基本解决,剩下的我会慢慢尝试的。
#1
用DATAPORT 還真沒有做過三次分組的
建議你弄到EXECL然後打印算了...
建議你弄到EXECL然後打印算了...
#2
当前可以在分组中分组!
主要是要绑定的记录集要设置对应的层次关系。
主要是要绑定的记录集要设置对应的层次关系。
#3
简单的方法就是加一个DataEnvironment,设置好分组以后,右键选择其“层次结构信息”就可以相关的SHAPE命令了
#4
当前可以在分组中分组!
主要是要绑定的记录集要设置对应的层次关系。
我就是不知道如何在当前分组中再分组,该怎么做?能说得详细一点吗?
还有就是上边的表有些错了(其实上边的表已经可以实现了,<分组时用两个字段>,只是每个小组中又出现大组的名字,大组的名字最好是只出现一次),最终的表应该是如下:
------------
01
-----------------------
01-01
01-01-01 50
01-01-01 60
------------
01-02
01-02-01 70
01-02-01 80
------------
02
----------------------
02-01
02-01-01 90
02-01-01 20
我在datareport中用了两个分组,但是跟用一个分组出现的结果是一样的,就是没办法实现大组的名字只出现一次.今天在书店看了一本书,里边有说复杂的报表如何做,但只有两页就说完了,大致是说用父子孙的关系在dataenvironment中建立好后,再把字段托到表中,我建好后在datareport中的datamember不知选哪个好,因为有四个选(DATASOURCE已选了DATAENVIRONMENT),不管选哪个都出错,不选也出错.是不是还有哪里没做好?每个命令的设置已分组了,就是总出错:从当前数据资源中取得行值失败(DATAMEMBER 什么都不选),报表部分与数据源不匹配(在四个中选一个).
主要是要绑定的记录集要设置对应的层次关系。
我就是不知道如何在当前分组中再分组,该怎么做?能说得详细一点吗?
还有就是上边的表有些错了(其实上边的表已经可以实现了,<分组时用两个字段>,只是每个小组中又出现大组的名字,大组的名字最好是只出现一次),最终的表应该是如下:
------------
01
-----------------------
01-01
01-01-01 50
01-01-01 60
------------
01-02
01-02-01 70
01-02-01 80
------------
02
----------------------
02-01
02-01-01 90
02-01-01 20
我在datareport中用了两个分组,但是跟用一个分组出现的结果是一样的,就是没办法实现大组的名字只出现一次.今天在书店看了一本书,里边有说复杂的报表如何做,但只有两页就说完了,大致是说用父子孙的关系在dataenvironment中建立好后,再把字段托到表中,我建好后在datareport中的datamember不知选哪个好,因为有四个选(DATASOURCE已选了DATAENVIRONMENT),不管选哪个都出错,不选也出错.是不是还有哪里没做好?每个命令的设置已分组了,就是总出错:从当前数据资源中取得行值失败(DATAMEMBER 什么都不选),报表部分与数据源不匹配(在四个中选一个).
#5
补充:书中用的链接不是用Microsoft Jet 4.0 OLE DB 的,好像是SQL还是客户之类的,这个有关系吗?
另外我把"层次结构信息"里的内容复制出来,捆到 MSH FlexGrid 能显示出来,也是我想要的层次效果,就是报表总报错.
另外我把"层次结构信息"里的内容复制出来,捆到 MSH FlexGrid 能显示出来,也是我想要的层次效果,就是报表总报错.
#6
在DE中先建立与数据库的连接Connection1
右键Connection1“添加命令”,添加一个command1,设置按字段a分组
再右键command1“添加子命令”,添加一个command2,设置与command1的关联为字段b,设置分组字段为b
然后添加一个rpt,设置datasource为DE的名称;datamember为command1,这个注意,不能用其它的,比如“command1_分组”之类
然后你右键rpt表头,选择“检索结构”,这样你就可以得到正确的报表结构了
设置txt属性的时候注意对应需要的分组命令(比如command1_分组等等)就可以了,分组字段不要设置datamember,细节要设置
大概就是这样,你多试试就可以了
右键Connection1“添加命令”,添加一个command1,设置按字段a分组
再右键command1“添加子命令”,添加一个command2,设置与command1的关联为字段b,设置分组字段为b
然后添加一个rpt,设置datasource为DE的名称;datamember为command1,这个注意,不能用其它的,比如“command1_分组”之类
然后你右键rpt表头,选择“检索结构”,这样你就可以得到正确的报表结构了
设置txt属性的时候注意对应需要的分组命令(比如command1_分组等等)就可以了,分组字段不要设置datamember,细节要设置
大概就是这样,你多试试就可以了
#7
Microsoft Jet 4.0 OLE DB是连接ACCESS数据库的,你根据自己的数据库,选择相应的驱动
#8
多谢 vbman2003(家人) ,问题己基本解决,剩下的我会慢慢尝试的。