Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Fastreport - Codebereich (Pascalscript) - SQL Abfrage (https://www.delphipraxis.net/187646-fastreport-codebereich-pascalscript-sql-abfrage.html)

user0815 17. Dez 2015 14:11

Fastreport - Codebereich (Pascalscript) - SQL Abfrage
 
Hi,
ist es möglich im Code Bereich von einem Fastreport z.B. im "procedure DetailData1OnBeforePrint(Sender: TfrxComponent);" eine SQL Datenbank Abfrage auszuführen, also fortlaufend zur Reportausgabe?
Oder anders gefragt, kann ich im Code Bereich dynamisch zur Laufzeit einen Query erzeugen, ausführen und auslesen?

war das verständlich :?:

Lemmy 17. Dez 2015 14:26

AW: Fastreport - Codebereich (Pascalscript) - SQL Abfrage
 
schau mal beim Register "Data" - da kannst Du verschiedene Queries hinterlegen, die man dann sicherlich im Code ansprechen kann.
Und wenn dein bevorzugtes System nicht dabei ist, das ist sicherlich nicht aufwändig das da rein zu bekommen. Muss aber gestehen, dass ich das noch nie gemacht habe

Neumann 17. Dez 2015 19:00

AW: Fastreport - Codebereich (Pascalscript) - SQL Abfrage
 
Habe es auch noch nicht versucht - ist aber vielleicht interessant. Befürchte aber, dass es problematisch ist, die jeweiligen Felder richtig anzuzeigen und auch, das es weiter Probleme mit der Ausführungsgeschwindigkeit gibt; die Ausführung des Scriptes ist verglichen mit der des compilierten Delphiprogrammes recht langsam.

Devil1925 18. Dez 2015 08:44

AW: Fastreport - Codebereich (Pascalscript) - SQL Abfrage
 
Das ganze ist ohne Probleme Möglich:
Ich mache das derzeit immer so:

Ich lege standardmäßig im Bereich "Data" eine Query an, auf welche ich dann später zugreifen kann.

Delphi-Quellcode:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
Begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Text := 'Select 'Irgendetwas' as Data';
  Query1.Open;
  Memo1.Text := Query1.FieldByName('Data').AsString;
End;
Oder willst du nur "Subdaten" zu einem Masterdataband haben, welche über ein bestimmtes Feld mit den Daten des Detaildata verbunden ist? weil dann ist es eventuell sinnvoller mit Parametern und Masterquerys zu Arbeiten!
Dazu einfach die Query, welche das Masterdata hat, als Master bei der Query für die Subdaten eintragen, Im SQL dann in der "where" Klausel eine Abfrage mit einem Parameter zu der Masterquery eintragen.

Delphi-Quellcode:
Where FeldQuery1 = :Parametername


Danach trägst du im Bereich "Params" bei der Subquery Das Feld der Masterquery ein, über welches diese beiden Verknüpft werden sollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.

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