Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FreeReport Master-Detail (https://www.delphipraxis.net/107615-freereport-master-detail.html)

haentschman 30. Jan 2008 17:38

Datenbank: firebird • Version: 2.0 • Zugriff über: Zeos

FreeReport Master-Detail
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle...

ich brauche mal einen Denkanstoß.

- wie von QR gewohnt habe ich mir alle relevanten Daten in einer Query zusammengestellt (gruppiert/sortiert).
- in QR konnte ich das Feld angeben, bei dessen Änderung ein neues Masterband erzeugt wird.
- in FreeReport kann ich nicht nachvollziehen, nach welchen Kriterien die Daten angezeigt werden.

:?: wie müssen die Daten aufbereitet sein
:?: können die Daten in einer Datenmenge vorhanden sein oder braucht jedes Band seine eigene
:?: kann ich die Daten vor dem Report zusammenstellen oder muß ich bei jedem BandPrint die Daten entsprechend holen

PS: die Hilfe von Freereport und die Demos haben mich nicht wirklich weitergebracht. Die Demos funktionieren gut, ich kann aber nicht wirklich verstehen, wie die Daten zur Verfügung stehen und entsprechend gruppiert werden. :oops:


Bsp.

Query:
A B C
1 2 3
1 4 5
2 6 7

Report:
1
2 3
4 5
----
2
6 7

...ist klassisches Master Detail. Aber ich steh total auf dem Schlauch.

Danke für Eure Hilfe.

[edit]
habe mal das Design des Reports angehängt... ich glaube aber, das ich die Daten nicht richtig zuweise
[/edit]

haentschman 31. Jan 2008 16:01

Re: FreeReport Master-Detail
 
Guten Morgen... :-D

:gruebel: ich bin schon erstaunt, Ihr kennt Antworten welche im System bis ans eingemachte gehen.
...Master Detail zu schwer :gruebel:

- habe inzwischen herausgefunden, daß jedes Band seine eigene Datenmenge hat und jede Datenmenge entsprechend gefiltert ist.
- im Beispiel funktioniert das ohne Quelltext :gruebel:
:?: wie filtert der Report die Daten

Danke...

haentschman 1. Feb 2008 18:04

Re: FreeReport Master-Detail
 
Hallo alle...

bin ich mit dieser Frage in der verkehrten Abteilung ? Dann bitte ich um Verschiebung.

...hat denn keiner Erfahrung mit FreeReport ? :gruebel:

Danke für Euer Interesse...

Hansa 1. Feb 2008 18:09

Re: FreeReport Master-Detail
 
Du musst auch selber etwas umdenken : die ermittelte Datenmenge liegt lediglich bei dir. Mit irgendeinem Report hat das kaum was zu tun.

haentschman 1. Feb 2008 18:23

Re: FreeReport Master-Detail
 
Danke für Deine schnelle Reaktion.

das mit dem Umdenken ist ja genau mein Problem...

- ich habe erst mit QuickReport gearbeitet und jetzt auf FreeReport umgestiegen.
- beide arbeiten komplett anders.

Zitat:

die ermittelte Datenmenge liegt lediglich bei dir.
... ja sicher. :wink:
- in QR hatte ich eine Datenmenge und das Master Detail wurde aus einer Feldwerteänderung generiert.
- in FR hat jedes Band seine eigene Datenmenge.

- ich habe mich tagelang mit den Beispielen beschäftigt und komme einfach nicht darauf, wie der Report die Daten zusammensucht.
- wäre im Quelltext was zu finden könnte ich das nachvollziehen.
- ich finde einfach das Prinzip nicht nach welchen Kriterien er die Tabellen entsprechend des Bandes filtert. :oops:
- Das Beispiel arbeitet mit Tabellen und die Datenmenge der jeweiligen Bänder sind gefiltert. Aber wo und nach was :gruebel:

- ich kann mir bei jedem Druck des entsprechenden Bandes über die Query die Informationen neu zusammenstellen. Aber ich denke das ist nicht im Sinne des Erfinders oder ?

- vieleicht denke ich viel zu kompliziert und die Lösung ist ganz einfach :gruebel:

- ich habe noch viel kompliziertere Reports vor mir, darum sollte ich das Prinzip verstehen.

PS: ich beziehe mich hier nur auf das beigelegte Beispiel bei FreeReport (FRDEMO)

haentschman 1. Feb 2008 19:02

Re: FreeReport Master-Detail
 
Hallo alle..

es ist gut wenn man ab und zu darüber redet.... :-D

- ich habe die Antwort gefunden.
- die Filterung der Datenmengen im Beispiel erfolgt über MasterFields, MasterSource der jeweiligen Datenmenge.

...jetzt ist es wieder logisch. :wink:

PS: ich hoffe, das funktioniert auch mit der Zeos Query. Schaffe ich aber heute nicht mehr das zu testen.

Danke für Euer Interresse.

Hansa 2. Feb 2008 00:33

Re: FreeReport Master-Detail
 
Zitat:

Zitat von haentschman
..Danke für Euer Interresse.

Das hielt sich ja in Grenzen. :lol: Ich kann nur noch folgendes sagen : baue solche Sachen besser außerhalb des Programmes zusammen und teste sie dann. Z.B. mit IBExpert. Wenn man das dann in Delphi umsetzt, dann geht alles viel leichter. Also die Rohdaten erst mal richtig zusammenstellen, bevor noch Probleme von dritter Seite auftauchen, die man nicht einordnen kann. Zeos wird mir sowieso immer suspekter. Last but not least, also zu guter letzt :mrgreen: : versuche so viel wie möglich in eine einzelne Ergebnismenge reinzukriegen. Wichtig sind hierbei SPs und Konstrukte wie
SQL-Code:
SELECT ID,... FROM TABLEX WHERE X=Y ... ORDER BY Z
    INTO :blubb1,:blubb2
Wenn das alles steht, erst dann gibt man es dem Report.

haentschman 2. Feb 2008 14:33

Re: FreeReport Master-Detail
 
Hallo Hansa...

Danke für Deine letzten Tipps. :thumb:
Zitat:

Also die Rohdaten erst mal richtig zusammenstellen
... Du sprichst mir aus der Seele.

ich kann dem Report die Daten nur optimal vorbereiten wenn ich weiß, wie die Daten vom Report verarbeitet werden.

...und das war eigentlich die simple Frage, dessen Rätsel ich inzwischen gelöst habe. :-D

Danke nochmal...

haentschman 3. Feb 2008 04:27

Re: FreeReport Master-Detail
 
Guten Morgen...

für alle, die es interessiert :-D

Master/Detail Report mit Zeos.

- jedes Band im Freereport hat seine eigene Datenmenge (MasterQuery / DetailQuery) oder direkt Tabelle
- bei Query für jedes Band vor dem Report die SQL Abfrage durchführen (alle Daten) und sortieren
- MasterSource der Query des Detail Bandes auf DataSource des Masterbandes setzen.
- MasterFields der Query des Detail Bandes setzen auf Feld 'X' in Masterdatenmenge
- LinkedFields der Query des Detail Bandes setzen auf Feld 'X' in Masterdatenmenge
:warn: Feld 'X' muß auch in der Detaildatenmenge vorhanden sein
--> Report wird nach Feld 'X' gruppiert
- im Report das jeweilige Band mit der entsprechenden Datenmenge verbinden
- Datenfelder aufs Band
- speichern
- fertig
- Drucken/Vorschau

:warn: TQuery kennt MasterSource, LinkedField nicht...funktioniert so nur mit ZeosQuery.

hoffe, das hilft vieleicht jemanden.

:hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr.

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