ReportMachine 的版本是6.5 ,
把RMDBDataSet1放在DataModule1窗体上,设置:RMDBDataSet1.DataSet:=Form1.ADODataSet1; 
Form1中的ADODataSet1数据打开了,也有数据,但在ReportMachine的数据字典里却没有Form1.ADODataSet1的字段可以选(看不到字段),试了下:RMDBDataSet1与ADODataSet1若同放在Form1窗体上,就有字段可以选。为知怎么解决?

解决方案 »

  1.   


    procedure TDataModule1.PrintView();
    begin  //这个没有字段
      RMDBDataSet1.Dataset:=Form1.ADODataSet1;
      RMReport1.Dataset:=RMDBDataSet1;  //RMDBDataSet1放在DataModule1上
      RMReport1.LoadFromFile('a.rmf');
      RMReport1.ShowReport;
    end;procedure TForm1.PrintView();
    begin  //这个有字段
      RMDBDataSet1.Dataset:=ADODataSet1;
      RMReport1.Dataset:=RMDBDataSet1;  //RMDBDataSet1放在Form1上
      RMReport1.LoadFromFile('a.rmf');
      RMReport1.ShowReport;
    end;不知问题在哪里?
      

  2.   

    楼主刚好反过来了。
    应该这样://以下代码可放在Form1的button1事件睛with fm_DataModule1 do 
    begin
       RMDBDataSet1.Dataset:=form1.ADODataSet1;
       RMReport1.Dataset   :=fm_DataModule1.RMDBDataSet1; //RMDBDataSet1放在DataModule上
        RMReport1.LoadFromFile('a.rmf');
       RMReport1.ShowReport;end;
      

  3.   

    procedure TForm1.PrintView(); //这个过程,我是把控件放在Form1上的,直接在Form1上调用,但我不想这样,因为很多Form,不至于每个Form都去放RMDBDataSet1等报表控件,所以就放在DataModule1上了,其它Form使用的话,可以去调用DataModule1
      

  4.   

    问题通过另外的办法,直接用RMDBDataSet1访问ADODataSet1打开的数据库字段名解决了