关于fastreport主从表打印的问题(100分)

  • 主题发起人 主题发起人 hnwhh
  • 开始时间 开始时间
H

hnwhh

Unregistered / Unconfirmed
GUEST, unregistred user!
有 table1 表为
id text
001 w
002 q
003 a
id为主健
有 table2 为
id1 id2 text
001 1 wwz
001 2 wx
001 3 wy
002 1 qq
002 2 ert
id1,id2为主健
我想得的报表形式为
table1.id table1.text table2.text
001 w
wz
wx
wy
002 q
qq
ert
003 a


我放了两个band 主项数据和细项数据
可结果为
table1.id table1.text table2.text
001 w
wz
wx
wy
qq
ert
002 q
wz
wx
wy
qq
ert
003 a
wz
wx
wy
qq
ert

我不知道怎样把两个表联结起来
我用adoqery联结
高分请教!!!!!!!!!!
谢谢!!!!!!!!!!
 
把Tablet1的ID和TEXT放在GROUP HEADER上分組即可實現
 
就用 mastersourec 那个 属性啊..把关联键 设置一下 就好了
 
mastersourec ?是说在 DELPHI里,还是在fastreport设计器里
 
把Tablet1的ID和TEXT放在GROUP HEADER上分組即可實現 ,我试过,试验不了,总有很多重复的
 
我在报表里用 了主项数据band和细项数据band,但是细项数据里总显示重复的内容
 
当然 是 delphi 里面的啊...
 
就用 mastersourec 那个 属性啊..把关联键 设置一下 就好了
能控制报表里的显示吗
 
你要在程序中把兩個表設成主從表。。
 
必须用table吗,用clientdataset可以吗
 
本人正好刚写完几个FastReport的报表,其中有几个用到了4层分组,你这个只用到了一层,还是比较简单的。
俺比较习惯使用TADOQUERY,以TADOQUERY组件为例。
1、加一个TADOQUERY命名为ADOQUERY1,加一个TdataSource组件命名为dataSource1,其dataset设置为ADOQUERY1,ADOQUERY1的SQL的值为:select * from table1。
2、再加一个加一个TADOQUERY命名为ADOQUERY2,其sql语句为:select * from table2 where ID1=:ID。其DataSource设为:dataSource1。(在设计时可以先把where子句 的内容去掉,好生成静态的字段变量,以供设计报表时使用)
3、先打开 ADOQUERY1,再打开 ADOQUERY2。再添加FastReport的相关组件进行操作就行了。
 
请问楼主问题解决了吗?是如何做的啊
 
两个ADOQuery
ADOQuery1: select * from table1
ADOQuery2: select * from table2 where id1=:id
1个DataSource
DataSource1.DataSet:=ADOQuery1
ADOQuery2.DataSource:=DataSource1 并设置master..属性
报表中1个MasterBand设置为ADOQuery1
1个DetailBand设置为ADOQuery2
 
还是没解决,弄别的去了,过几天再弄
 
我一般都用比较笨的办法,就是多用几个adoquery控件,过滤,再加几个子表。
 
哪位兄弟有做好的例子,拿出来分享一下把,我是按照上述的方法去做的,可是就是实现不了,不知道哪里除了问题
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
676
import
I
S
回复
0
查看
937
SUNSTONE的Delphi笔记
S
I
回复
0
查看
850
import
I
后退
顶部