DELPHI7 + FASTREPORT 3.0.7 + ACCESS2003
主表user: id name sex age
从表name: id userid xueke score
id和userid对应是一对多的关系 想做一个报表: 王晓霞 女 23
数学 73
语文 80
........
李青艳 女 24
数学 80
.......
就这样一个报表
加一个masterdata band,数据来源设为user表,上面放上name,sex,age
再加一个detaildata band,数据来源设为name表,放上xueke,score
怎样来建立主从关系??
重点是在哪里建立,FastReport中还是Delphi中。告诉我怎么关系两个表
(不要采用分组的方法)FastReport中带的例子也看过了,不过看不出来是在哪里建立关联的。
主表user: id name sex age
从表name: id userid xueke score
id和userid对应是一对多的关系 想做一个报表: 王晓霞 女 23
数学 73
语文 80
........
李青艳 女 24
数学 80
.......
就这样一个报表
加一个masterdata band,数据来源设为user表,上面放上name,sex,age
再加一个detaildata band,数据来源设为name表,放上xueke,score
怎样来建立主从关系??
重点是在哪里建立,FastReport中还是Delphi中。告诉我怎么关系两个表
(不要采用分组的方法)FastReport中带的例子也看过了,不过看不出来是在哪里建立关联的。
和建立“主项数据“.即可。
独特的双数据源连接,全功能的表格组件!http://www.anylib.com
query ->Close();
query ->SQL->Clear();
query ->SQL->Add("select * from user");
query ->Open();table->Close();
table->TableName="name";
table->MasterSource=QS_table;
table->MasterFields="id";
table->Open();
table1:单号(无重复),单别、日期,部门等,
table2:单号(有重复),序号(同一单号,有多个序号),品号,品名等,
frxDBDataset1联ADOQuery1
frxDBDataset2联ADOQuery2
我要这样的结果:
在frxReport1页头显示table1的一条记录,
在frxReport1页身显示table2对table1单号的所有记录,也就是说相对应table2单号相对应table1单号的所有记录,
在frxReport1怎样设计?
MasterData1联frxDBDataset1
DetailData1联frxDBDataset2
这样MasterData1中显示了ADOQuery1后,在DetailData1中就显示了所有ADOQuery2,
这两个根本没有关联,还,我想一页在MasterData1中只显示一条ADOQuery1记录,DetailData1中显示相关联的ADOQuery2中的记录
ADOQuery1用来连接主表:select * from user
ADOQuery2用来连接从表:select * from name where id=:id
放一个datasource1连接到ADOQuery1,设置ADOQuery2的datasource为datasource1。报表设置:
放两个frxDBDataSet,分别设置dataset属性为ADOQuery1、ADOQuery2
在fastreport里,放置一个主项数据band用来放主表的字段,放置一个细项数据band用来放从表字段。可以了。
ADOQuery1=select 配方单号 from clientcb
ADOQuery2=select * from clientno where 配方单号='''+ADOQuery1.fieldbyname('配方单号').AsString+''
始终只显示ADOQuery2相同的的一条记录?