![]() |
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); |
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:
![]()
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); [...] |
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 05:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz