Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Quickreport bleibt beim 2ten Aufruf leer (https://www.delphipraxis.net/95556-quickreport-bleibt-beim-2ten-aufruf-leer.html)

onkel 9. Jul 2007 11:08


Quickreport bleibt beim 2ten Aufruf leer
 
Hallo zusammen,

ich habe eine kleine Datenbank, dessen Felder ich mit Hilfe von Quickreport ausgeben möchte.

Ich benutze Quickreport 3.0.9 und Delphi 7.

Wenn ich den ersten Bericht drucken möchte klappt noch alles, d.h. meine anzuzeigenden Daten sind auf dem Bericht erkennbar.

Nachdem ich nun den ersten Bericht gedruckt habe oder die Vorschau geschlossen habe und nun einen weiteren Bericht mit einem anderem Datensatz erstellen möchte, bleibt der Report leer.


Ich habe in Formular 22 einen Button, der Form23(meinen Report) aufruft. In Form22 befindet sich ein Eingabefeld (Edit1) welches abhängig von der Eingabe einen anderen Datensatz wählt.

Wie kann ich dem Report abgewöhnen das er beim 2ten Aufruf meine neuen Daten nicht anzeigt ...

Folgende Codezeilen benutze ich bereits:

Code:
procedure TForm22.Button1Click(Sender: TObject);
var QRForm1: TForm23;
begin

ADOQuery1.Active:=false;
ADOQuery1.Filtered:=false;
ADOQuery1.Filter:='Computernummer LIKE '''+Form22.Edit1.Text+''' ';
ADOQuery1.Filtered:=true;
ADOQuery1.Active:=true;

try
  QrForm1:=TForm23.Create(self);
  QrForm1.QuickRep1.Prepare;
  QrForm1.QuickRep1.Preview;
finally
  QrForm1.DestroyComponents;
  QrForm1.Free;
end;

end;

Gruß
Onkel

messie 9. Jul 2007 13:04

Re: Quickreport bleibt beim 2ten Aufruf leer
 
An welcher Stelle übergibst Du denn die Daten?

Grüße, Messie

onkel 9. Jul 2007 13:16

Re: Quickreport bleibt beim 2ten Aufruf leer
 
Sobald ich auf den Button drücke, der sich im TForm22 (Procedure Button1Click) befindet werden/sollten die Daten an Form23 gesendet/werden.

Form23.QuickRep1 besitzt als DataSet Eigenschaft Form22.ADOQuery1

Es funktioniert ja beim ersten mal, jedoch warum nicht beim 2ten, oder 3ten?

...habe jetzt mal die Eigenschaft von QuickRep1.PrintIfEmpty auf False gesetzt, da bleibt der ganze Report dunkel beim 2ten Aufruf, es sieht so aus, als würde er beim 2ten Aufruf keine Daten mehr erhalten :( ... der erste geht nach wie vor einwandfrei...

messie 9. Jul 2007 13:27

Re: Quickreport bleibt beim 2ten Aufruf leer
 
Zitat:

Zitat von onkel
Es funktioniert ja beim ersten mal, jedoch warum nicht beim 2ten, oder 3ten?

Den Effekt hatte ich auch schon mal.
Probier die Zuweisung des DataSet mal im OnNeedData-Event des Reports.

Grüße, Messie

onkel 9. Jul 2007 13:33

Re: Quickreport bleibt beim 2ten Aufruf leer
 
Meinst Du so?

Code:
procedure TForm23.QuickRep1NeedData(Sender: TObject;
  var MoreData: Boolean);
begin
  QuickRep1.DataSet:=Form22.ADOQuery1;
end;
Der gleiche Effekt :(

messie 9. Jul 2007 13:51

Re: Quickreport bleibt beim 2ten Aufruf leer
 
Zitat:

Zitat von onkel
Meinst Du so?

Code:
procedure TForm23.QuickRep1NeedData(Sender: TObject;
  var MoreData: Boolean);
begin
  QuickRep1.DataSet:=Form22.ADOQuery1;
end;
Der gleiche Effekt :(

Ich glaube, MoreData := false müßte da noch hin

Grüße, Messie

onkel 9. Jul 2007 13:54

Re: Quickreport bleibt beim 2ten Aufruf leer
 
das gleiche, leider :(

Hat vielleicht jemand noch nen anderen Ansatz?

onkel 10. Jul 2007 09:14

Re: Quickreport bleibt beim 2ten Aufruf leer
 
Problem gelöst !!!!!!
Manchmal ist die Lösung so naheliegend ;)

Die Querys müssen innerhalb des Quickreports stehen, dann klappts auch mit dem 2ten oder 3ten Aufruf !!!

Wenn die Querys ein Formular vorher erzeugt werden, klappt die Übergabe an den Report nicht (nur beim Ersten Mal!!), warum dem so ist, dafür habe ich keine Erklärung, da Querys normalerweise Formularübergreifend ohne Probleme funktionieren, aber beim Quickreport wohl nicht!

Gruß
onkel


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 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