求用quickrep作一个显示每一个员工的所有培训信息的报表,具体请进! ( 积分: 200 )

  • 主题发起人 主题发起人 gzfoin
  • 开始时间 开始时间
G

gzfoin

Unregistered / Unconfirmed
GUEST, unregistred user!
只有两个表1为员工表(员工号,姓名);2为培训表(员工号,培训名称,培训时间)
想用上述两个表作一个报表,内容如下
<员工号1> <姓名>
<培训名称> <培训时间> //这行显示的是员工1参加过的培训

<员工号2> <姓名>
<培训名称> <培训时间> //这行显示的是员工2参加过的培训

以后以此类推
我已用quickrep作了,但卡在了这里:我是用qrdetail显示员工号和姓名,想用subdetail显示这名员工参加过的培训,但是每次都只能显示所有的员工的培训内容,根本就是某一员工参加过的培训,我该怎么办呢,有没有什么其他的好办法呢?
 
只有两个表1为员工表(员工号,姓名);2为培训表(员工号,培训名称,培训时间)
想用上述两个表作一个报表,内容如下
<员工号1> <姓名>
<培训名称> <培训时间> //这行显示的是员工1参加过的培训

<员工号2> <姓名>
<培训名称> <培训时间> //这行显示的是员工2参加过的培训

以后以此类推
我已用quickrep作了,但卡在了这里:我是用qrdetail显示员工号和姓名,想用subdetail显示这名员工参加过的培训,但是每次都只能显示所有的员工的培训内容,根本就是某一员工参加过的培训,我该怎么办呢,有没有什么其他的好办法呢?
 
是主从,不过好久不用,忘记了
 
但是每次都只能显示所有的员工的培训内容,根本就是某一员工参加过的培训,
---------------------------------------------------------------------
不明白[:(]
 
dawnsong
是根本就不能显示某一员工参加过的培训,打错了
 
主要还是SubDetail的Master的设置问题
另外,还可以这么测试:
主从表的设计问题,你可以将放一个Table作为MasterTable,再放一个作从表SlaveTable,然后通过“员工号”关联上这两个表,如果这里能够关连成功,那么QuickReport里面只要将DetailBand和SubDetialBand的相应DataSet设为MasterTable和SlaveTable就可以了,应该就没问题了。
再给你个连接,自己看吧 (主从表的设计)
http://www.ccrun.com/article/go.asp?i=217&amp;d=zi354i
 
你给我的这个连接是C builder的,不是delphi的
在delphi中怎么做
 
设置是相同的,据说通过设置SubDetailBand的Master可以实现N层结构,而不仅仅是二层主从表。
CBuilder里的设置和Delphi里的一样,主要了来说,一个就是设置好MasterTable,一个就是设置好MasterField,这是对Table来说;若使用Query,那就简单了,自己写好Sql语句就行了
不过可惜我这里没有数据库,只能给你说说,无法测试:)
 
SubDetailBand的Master设完了,可不管用啊,还是全显出来
 
有E-Mail么,我简单试了下,
要得话给你传过去,不过是用Excel来简单作的主从表
 
具体设置简单说一下:
连接关系:
ADOConnection<-ADOTableMaster<-DataSourceMaster
<-ADOTableSlave
主从关系:
ADOTableMaster:
TableName :='主表$';
DataSourceMaster:
DataSet :=ADOTableMaster;
ADOTableSlave:
TableName :='从表$'
MasterSource:=DataSourceMaster;
MasterField :='员工号';//此处双击后会出现连接提示窗口,同样也是鼠标点几下就Ok了
----------------------------------------------------------------------------
下面需要设置和更改的就是QuickReport了
qrDetailBandMaster里面的DBText的DataSet全设为ADOTableMaster
qrSubDetailSlave里面的DBText的DataSet全设为ADOTableSlave,并且将其LinkBand设为qrDetailBandMaster
-------------------------------------------------------------------------
上面就是需要设置的大概,应该能够Work了:)
 
我的E-mail是gzinfo@163.com
谢谢了
 
adotablemaster和datasourcemaster和adotalbeslave是什么?控件吗?我怎么没有找到叫这个名的控件呢?还有我用的adoquery,设置也一样吗?
 
还有我没有用到adoconnection
 
adotablemaster ->TADOTable
和datasourcemaster->TDataSource
和adotalbeslave ->TADOTable
邮件已发送,注意查收
解压缩后,双击程序Form非QuickReport的地方会调出Preview窗口;
用的是Delphi2005写的;
你也可以在Delphi里面Preview;
数据库用的是Excel简单写了下,你可以自己再改
 
全部显示,说明你的SQL语句没有包括相应的员工ID,检查一下,不复杂吧
 
看懂你写的了,就是要设置从表的mastersource和masterfield属性,明白了
但是adoquery组件就没有这个属性啊,你还知道该怎么办吗?用SQL吗?怎么设主从
真的很谢谢你啊
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部