连嵌套表用的,比如Oracle就支持嵌套表

解决方案 »

  1.   

    我猜他一定是做不规则报表用的,可以把一个数据集嵌套到另一个数据集中(非BDE数据集),可以在网上查例子,如将ClientDataSet1Field1指定给ClientDataSet2,可以作出嵌套表格
      

  2.   

    例子:(摘录的,不负责) 增加两个SQLDataSet构件到数据模块。将它们的SQLConnection属性都设置为sconEmployee。将第一个的名字设置为sdsDepartment且将SQL属性设置为Select * From Department。增加一个DataSource构件,将它的名字设置为srcDeptLink且将它的DataSet属性设置为sdsDepartment以使它能够连接到sdsDepartment。选择第二个数据集构件,设置它的名字为srcEmployee且将它的SQL属性设置为Select * From Employee Where DEPT_NO=:DEPT_NO,再设置它的DataSource属性为srcDeptLink。这告诉sdsEmployee数据集从sdsDepartment的当前记录的DEPT_NO字段获取DEPT_NO参数的值。  
        增加一个DataSetProvider构件,设置名字为provDepartment,设置DataSet属性为sdsDepartment。增加两个ClientDataSet构件,命名第一个为cdsDepartment,设置ProviderName属性为provDepartment,命名第二个为cdsEmployee。右键单击cdsDepartment,选择字段编辑并选择所有的字段。注意最后一个字段叫做sdsEmployee,这是一个嵌套的数据字段,它包括了与部门记录关联的雇员记录。现在选择cdsEmployee构件,并设置它的DataSetField属性为sdsEmployee,它将显示从sdsEmployee字段得到的数据。  
        接着,增加两个DataSource构件,分别命名为srcDepartment和srcEmployee,并分别设置它们的DataSet属性为cdsDepartment和cdsEmployee。这样,所有的处理部门和雇员之间一对多关系的构件就都设置好了。