Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Fehler bei Unidac/Fastreport (https://www.delphipraxis.net/160661-fehler-bei-unidac-fastreport.html)

Lemmy 25. Mai 2011 15:51

AW: Fehler bei Unidac/Fastreport
 
Hi
Delphi-Quellcode:
  if data.reportQuery.Active then data.reportQuery.Close;
   data.reportQuery.SQL.Text := 'SELECT * FROM articles Where number like ''%456%''';
   data.reportQuery.Open;
   frxReport.Clear; <---- HIER
   frxReport.DesignReport;

was sagt denn an der Stelle die ich oben markiert habe data.reportQuery.RecordCount? Und weiter möchte ich diese blasfemische Frage stellen ;-)

In der Query wird IMMER das SQL ausgeführt, das Du zur Designzeit eingetragen hast (Es wird immer nur das zur Designzeit eingetragene SQL-Statement ausgeführt.) - und du vermutest dass FastReport schuld ist?

Und noch eine Frage: Kommt denn wirklich ein Ergebnis bei der Query? Kommt auch bei der zur Designzeit eingetragene SQL-Statement ein Ergebnis zurück?

Grüße

Bebe 25. Mai 2011 16:42

AW: Fehler bei Unidac/Fastreport
 
Hallo,

bist du dir sicher, dass frxDataset auch wirklich mit deiner Abfrage verbunden ist?

Vielleicht so ...
Delphi-Quellcode:
  if data.reportQuery.Active then data.reportQuery.Close;
    data.reportQuery.SQL.Text := 'SELECT * FROM articles Where number like ''%456%''';
    data.reportQuery.Open;
    frxDBDataset.DataSet := data.reportQuery; //<---- Add
    frxReport.Clear;
    frxReport.DesignReport;
Und öffnen brauchst du eigentlich das Dataset nicht, wenn du bei der frxDataset Komponente im OI beide folgenden Eigenschaften auf True stellst.
Delphi-Quellcode:
CloseDateSource := True
OpenDataSource := True;
oder so ...
Delphi-Quellcode:
  if data.reportQuery.Active then data.reportQuery.Close;
    data.reportQuery.SQL.Text := 'SELECT * FROM articles Where number like ''%456%''';
    frxDBDataset.CloseDateSource := True; //<---- Add
    frxDBDataset.OpenDataSource := True; //<---- Add
    frxDBDataset.DataSet := data.reportQuery;
    frxReport.Clear;
    frxReport.DesignReport;
Gruß
Matze

PS. Bei UniDac kannst du auch Parameter verwenden, die eigentlich in jeder Query Komponente vorhanden ist. Bei UniDac ist es aber besonders einfach die zuverwenden. Braucht du da Tipps?

Dann kannst du auch deine Abfrage zur Designzeit erstellen und mit einem Platzhalter vordefinieren z.B. so ...

SELECT * FROM articles Where number like :Value

fillibuster 30. Mai 2011 09:05

AW: Fehler bei Unidac/Fastreport
 
Hallo Zusammen,

erstmal danke für eure Antworten. Zuerst: Ich arbeite schon lange mit mit Unidac/Fastreport (quasi seit erscheinen der Unidac und vorher mit IBDac) und hatte diese Probleme noch nie.

Nach dem weiteren testen ist die Lösung vorerst:
Delphi-Quellcode:
frxDBDataset.DataSet := data.reportQuery;
Obwohl ich das zugegeben nicht verstehe, denn im OI ist das korrekt zugewiesen?! Aber es funktioniert!

Viele Grüße ...

schlecki 30. Mai 2011 09:45

AW: Fehler bei Unidac/Fastreport
 
hast du zufälligerweise innerhalb des Reports das Dataset nochmal angelegt?

fillibuster 30. Mai 2011 09:48

AW: Fehler bei Unidac/Fastreport
 
Hallo,

nein, habe da nur das Dataset verbunden.

Viele Grüße ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr.
Seite 2 von 2     12   

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