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中带的例子也看过了,不过看不出来是在哪里建立关联的。

解决方案 »

  1.   

    FastReport中建立,建立一个"分组头<groupHeader>"并在分组中设置“分组条件”
    和建立“主项数据“.即可。
      

  2.   

    创意、自由、灵活,超强的报表功能,
    独特的双数据源连接,全功能的表格组件!http://www.anylib.com
      

  3.   

    看一下FastReprt开发指南,这个是比较简单的应用了。
      

  4.   

    放一个fastreport 2个frxDBDataset,其中一个连到主表的query ,两一个连到细表的table
    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();
      

  5.   

    有没有朋友,解决这个问题,我也想请教一下:
    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中的记录
      

  6.   

    主从表关系在Delphi里设置:
    ADOQuery1用来连接主表:select * from user
    ADOQuery2用来连接从表:select * from name where id=:id
    放一个datasource1连接到ADOQuery1,设置ADOQuery2的datasource为datasource1。报表设置:
    放两个frxDBDataSet,分别设置dataset属性为ADOQuery1、ADOQuery2
    在fastreport里,放置一个主项数据band用来放主表的字段,放置一个细项数据band用来放从表字段。可以了。
      

  7.   

    分组问题解决了,还有一个问题,表单没有关联
    ADOQuery1=select  配方单号 from clientcb 
    ADOQuery2=select * from clientno where 配方单号='''+ADOQuery1.fieldbyname('配方单号').AsString+''
    始终只显示ADOQuery2相同的的一条记录?
      

  8.   

    最简单的方式就是直接连DataSet
      

  9.   

    这个问题主要是先把dataset的关系建好,就可以了,,有问题加我331489143
      

  10.   

    看了fastreport 3.15的demo中,没有看到有设置主从关系,只是联接到一个数据库dbe组件,却能产生出主从表,就是为什么呢???