B
bigqll
Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
DataSource1: TDataSource;
DataSource2: TDataSoruce;
ppDBPipeline1: TppDBPipeline;
ppDBPipeline2: TppDBPipeline;
ppReport1: TppReport;
ppSubReport1: TSubReport;
以上是我用到的控件,是在程序中自动建立的
SQL1是主表的SQL语句
SQL2是从表的SQL语句
主表和从表都有“编号”字段,且通过这个字段相连。
以下的代码是在程序中手动编写的。
DataSource1.DataSet := ADOQuery1;
DataSource2.DataSet := ADOQuery2;
ppDBPipeline1.DataSource := DataSource1;
ppDBPipeline2.DataSource := DataSoruce2;
ppReport1.DataPipeline := ppDBPipeline1;
ppSubReport1.DataPipeline := ppDBPipeline2;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQL1);
ADOQuery1.Open;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(SQL2);
ADOQuery2.Open;
ppDBPipeline2.MasterDataPipline := ppDBPipeline1;
ppDBPipeline2.MasterFieldLinks := '编号->编号';
在Reprot中各种字段的设置的代码就不写了
运行ppReport.Print后,主表显示正常,但是子表显示的是所有的记录,且每个主记录下的子表的记录完全相同。
SQL1和SQL2不可能有错误,因为在dxGrid中的主从表的记录显示是正确的。
报表中的错误在哪里呢?
非常感谢!!!
ADOQuery2: TADOQuery;
DataSource1: TDataSource;
DataSource2: TDataSoruce;
ppDBPipeline1: TppDBPipeline;
ppDBPipeline2: TppDBPipeline;
ppReport1: TppReport;
ppSubReport1: TSubReport;
以上是我用到的控件,是在程序中自动建立的
SQL1是主表的SQL语句
SQL2是从表的SQL语句
主表和从表都有“编号”字段,且通过这个字段相连。
以下的代码是在程序中手动编写的。
DataSource1.DataSet := ADOQuery1;
DataSource2.DataSet := ADOQuery2;
ppDBPipeline1.DataSource := DataSource1;
ppDBPipeline2.DataSource := DataSoruce2;
ppReport1.DataPipeline := ppDBPipeline1;
ppSubReport1.DataPipeline := ppDBPipeline2;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQL1);
ADOQuery1.Open;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(SQL2);
ADOQuery2.Open;
ppDBPipeline2.MasterDataPipline := ppDBPipeline1;
ppDBPipeline2.MasterFieldLinks := '编号->编号';
在Reprot中各种字段的设置的代码就不写了
运行ppReport.Print后,主表显示正常,但是子表显示的是所有的记录,且每个主记录下的子表的记录完全相同。
SQL1和SQL2不可能有错误,因为在dxGrid中的主从表的记录显示是正确的。
报表中的错误在哪里呢?
非常感谢!!!