![]() |
Fastreport zeigt Daten erst beim zweiten Aufruf
Moin,
mit dieser Funktion drucke ich einen einfachen Report, der aus Kopfdaten und ein paar Zeilendaten besteht.
Delphi-Quellcode:
Die Tabelle qryRep enthält die Kopfdaten und qryStkLi enthält die Zeilendaten, die im Masterband angezeigt werden sollen.
procedure TfrmMain.p_PrnStkLi;
{----------------------------------------------------------------------------------------------------------------------- Stückliste drucken -----------------------------------------------------------------------------------------------------------------------} begin iPrn := 0; // Seitenzähler qryRep.Close; // Kopfdaten qryStkLi.Close; // Zeilendaten qryRep.ParamByName('AB1').AsInteger := qryLi.FieldByName('AB1').AsInteger; // eindeutige Auftragsnummer besteht aus AB1 und ABFolge in zwei Feldern qryRep.ParamByName('ABFolge').AsInteger := qryLi.FieldByName('ABFolge').AsInteger; qryRep.Open(); qryStkLi.ParamByName('AB1').AsInteger := qryLi.FieldByName('AB1').AsInteger; qryStkLi.ParamByName('ABFolge').AsInteger := qryLi.FieldByName('ABFolge').AsInteger; // qryStkLi.Open(); // Versuch // qryStkLi.Close; // Versuch qryStkLi.Open(); TfrxMemoView(frxRep.Pages[1].FindObject('memHeader')).Text := 'Vorfertigung'; TfrxMemoView(frxRep.Pages[1].FindObject('memName')).Text := ', 04-2024'; iPrn := qryRep.FieldByName('Erledigt').AsInteger; if iPrn = 0 then TfrxMemoView(frxRep.Pages[1].FindObject('memKopie')).Text:= '' else TfrxMemoView(frxRep.Pages[1].FindObject('memKopie')).Text:= 'KOPIE ' + IntToStr(iPrn); inc(iPrn); frxRep.PrepareReport(true); frxRep.ShowPreparedReport; qryRep.Close; qryStkLi.Close; end; iPrn steuert lediglich, ob es der erste Ausdruck ist, oder ob eine Kopie (und die wievielte) gedruckt wird. Wenn ich das erste mal den Button 'Drucken' drücke und damit die Procedure p_PrnStkLi durchlaufe, wird der Kopf gedruckt. aber der Zeilenbereich ist leer. Wenn ich ein zweites Mal den Button drücke, ist alles ok - gleichgültig, ob ich die gleichen Daten verwende, oder einen anderen Auftrag aufrufe. Ich habe bereit ein zusätzliches Grid mit dem Inhalt aus qryStkLi eingebaut - dort stehen die Daten bereits nach dem ersten Klick bereit. Delpht 10.4 FastReport 6.7.9 prof. Hat das schon Mal jemand gehabt und eine Idee, wie ich dem beikomme? Danke! |
AW: Fastreport zeigt Daten erst beim zweiten Aufruf
Zitat:
![]() Bis bald... Thomas |
AW: Fastreport zeigt Daten erst beim zweiten Aufruf
Hallöle...8-)
Hast du jeweils nach dem Open (qryRep.Open, qryStkLi.Open) die Datensätze mal anzeigen lassen? :wink: |
AW: Fastreport zeigt Daten erst beim zweiten Aufruf
Hi haentschman,
die aus qryStkLi schon, dass sind ja die, die nicht kommen. Die aus der anderen Tabelle nicht, da die auf dem Beleg ja drauf stehen. 'Ich habe bereit ein zusätzliches Grid mit dem Inhalt aus qryStkLi eingebaut.. ' weil ich irgendwo gelesen habe, dass es zu Verzögerungen kommen kann, wenn die DB nicht schnell genug antwortet. Das ist aber hier nicht der Fall, weil das Hilfsgrid ordentlich gefüllt wurde. Ist das Problem eigentlich neu? Ich meine, dass hätte ich schon mal gehabt. Hallo mytbo, um das nachvollziehen zu können, lade ich mir mal Deine Bereitstellung herunter und seh mir das an. Danke. |
AW: Fastreport zeigt Daten erst beim zweiten Aufruf
Zitat:
Wie weist du die Datenmenge qryStkLi der frxxx Datenmenge zu? ObjektInspector? Hänge mal den FR-Report und TfrmMain hier mal an... |
AW: Fastreport zeigt Daten erst beim zweiten Aufruf
Wenn es zu Verzögerungen kommt, dann wartet das OPEN oder spätestens der Lesezugriff, wenn Records nachgeladen werden.
So oder so, hängt das Programm nur kurz, wenn es zu einer Verzögerung kommt, aber die Daten sind dann immer da. |
AW: Fastreport zeigt Daten erst beim zweiten Aufruf
Moin,
mein Workaround:
Delphi-Quellcode:
Seitdem ich den Prepare 2 x aufrufe, passiert das nicht mehr ... nicht besonders schön, aber geht.frxRep.PrepareReport(true); // erster Aufruf frxRep.PrepareReport(true); // zweiter Aufruf frxRep.ShowPreparedReport; Danke für Eure Mühen! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 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