Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Rave: (invalid) und keine Ahnung mehr (https://www.delphipraxis.net/102123-rave-invalid-und-keine-ahnung-mehr.html)

pduck 23. Okt 2007 21:49


Rave: (invalid) und keine Ahnung mehr
 
Hallo,

ich habe einen Report mittels direkter Database Connection erstellt und erfolgreich getestet. Jetzt habe ich diese durch DirectDataViews ersetzt und im aufrufenden Formular fein säuberlich zwei RvDataSetConnection etc. erstellt. Das ADO SQL DataSet (MS Access DB) weise ich ihnen zur Laufzeit zu. In den jeweiligen Datasets ist auch wirklich etwas drinne, was ich mir vorher per Grid anzeigen lasse. Leider sehe ich in meiner Report Preview aber nur (invalid) bei allen Datenfeldern.
Habe schon mehrere Male alle Felder / Bänder auf korrekte DataViews überprüft etc. aber nichts hilft.
Auch den Refresh habe ich schon probiert, leider ohne Erfolg. Hat jemand eine Idee?

Hier noch der Aufruf von Rave:
Delphi-Quellcode:
  case iReportID of
    cReportProvider.REP_SINGLE_ITEM_JOURNAL:
      begin
        sSQL1 := 'SELECT * FROM tmp_rep_ArtikeljournalKopf';
        sSQL2 := 'SELECT * FROM tmp_rep_ArtikeljournalZeile';
        sProjectName := 'REP_Artikeljournal.rav';
        sReportName := 'Report1';
      end;
  end;
  if sSQL1 <> '' then
    DataSource1.DataSet := cDBProvider.GetSQLDataset(sSQL1, FALSE);
  if sSQL2<> '' then
    DataSource2.DataSet := cDBProvider.GetSQLDataset(sSQL2, FALSE);

  RichEdit1.Text := sSQL1;
  RichEdit2.Text := sSQL2;
  Label1.Caption := sProjectName;
  Label2.Caption := sReportName;
  RvDataSetConnection1.DataSet := DataSource1.DataSet;
  RvDataSetConnection2.DataSet := DataSource2.DataSet;
  RvProject1.SetProjectFile(sProjectName);
  RvProject1.Open;
  RvProject1.ExecuteReport(sReportName);

pduck 24. Okt 2007 21:39

Re: Rave: (invalid) und keine Ahnung mehr
 
Habe das Rätsel gelöst. Nach dem Öffnen des Projekts muss ich per Code nochmal die DataViews aktualisieren. Siehe auch dieser Link hier: http://www.nevrona.com/Default.aspx?tabid=97

Delphi-Quellcode:
[...]
  RvDataSetConnection1.DataSet := DataSource1.DataSet;
  RvDataSetConnection2.DataSet := DataSource2.DataSet;
  RvProject1.SetProjectFile(sProjectName);
  RvProject1.Open;
  Dataview := RvProject1.projMan.FindRaveComponent('DataView1',nil) as TRaveBaseDataView;
  CreateFields(DataView, nil, nil, true);
  Dataview := RvProject1.projMan.FindRaveComponent('DataView2',nil) as TRaveBaseDataView;
  CreateFields(DataView, nil, nil, true);
[...]

xaloy 4. Nov 2009 13:16

Re: Rave: (invalid) und keine Ahnung mehr
 
Bei mir klappts noch nicht. Hab genau die gleichen Probleme.
Die Anzahl der Datensätze stimmt aber leider sind alle Felder (Invalid).

Ich finde die Unit nicht in der TRaveBaseDataView definiert ist??

Was habe ich bisher alles ausprobiert:
1. IBDataset und IBQuery
2. RaveReport Open bevor Execute
3. Dataviews neu erstellt
4. Select Befehl in einer Reihe ohne LineBreak.

Klappt leider immer noch nicht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz