PANTHEON™ Help

 Toc
 PANTHEON Hilfe - Willkommen
[Reduzieren]PANTHEON
 [Reduzieren]Leitfäden für PANTHEON
  [Reduzieren]Leitfaden für PANTHEON
   [Reduzieren] Einstellungen
    [Vergrößern]Fächer
    [Vergrößern]Artikel
    [Vergrößern]POS
    [Vergrößern]Herstellung
    [Vergrößern]Personal
     Kalender
    [Vergrößern]Finanzen
    [Vergrößern]Zoll
    [Reduzieren]Programm
     [Vergrößern]Dokumenttypen
     [Reduzieren]Berichte in PANTHEON
       Einstellungen im Administrationspanel
      [Vergrößern]Berichte Register
       Druckvorschau
      [Vergrößern]Bericht Designer
      [Vergrößern]Berichte erstellen
      [Reduzieren]Gruppen und Aggregate
        Bericht mit Gruppen
        Gruppenmerkmale
        Zeilennummerierung
        Aggregatfunktionen
        Seiten- und Berichtsz totals
        Verwendung des "SysText" Objekts
        Mehrstufige Gruppierung
      [Vergrößern]Formatierung und Hervorhebung
       Verschachtelte Berichte (Unterberichte)
      [Vergrößern]Details zu Druckausgaben in PANTHEON
      [Vergrößern]Script
       Bericht Design Überlegungen
      Dokumenttexte
      Liefermöglichkeiten
     [Vergrößern]Kundenkarten
     [Vergrößern]Administrationspanel
     [Vergrößern]Dashboard-Komponenten
      Dashboard-Berichte
      Ad-hoc-Analyse
     [Vergrößern]ARES
      SQL-Editor
    [Vergrößern]Dokumentation
    [Vergrößern]Benutzer ändern
   [Vergrößern]Bestellungen
   [Vergrößern]Waren
   [Vergrößern]Herstellung
   [Vergrößern]POS
   [Vergrößern]Service
   [Vergrößern]Finanzen
   [Vergrößern]Personal
   [Vergrößern]Analytik
   [Vergrößern]Desktop
   [Vergrößern]Hilfe
   [Vergrößern]Nachrichten und Warnungen
   [Vergrößern]Zusätzliche Programme
  [Vergrößern]Leitfaden für PANTHEON Einzelhandel
  [Vergrößern]Leitfaden für PANTHEON Vet
  [Vergrößern]Leitfaden für PANTHEON Farming
 [Reduzieren]Benutzerhandbücher für PANTHEON
  [Vergrößern]Benutzerhandbuch für PANTHEON
  [Vergrößern]Benutzerhandbuch für PANTHEON Einzelhandel
  [Vergrößern]Benutzerhandbuch für PANTHEON Vet
  [Vergrößern]Benutzerhandbuch für PANTHEON Farming
[Reduzieren]PANTHEON Web
 [Reduzieren]Leitfäden für PANTHEON Web
  [Vergrößern]Leitfaden für PANTHEON Web Light
  [Vergrößern]Leitfaden für PANTHEON Web Terminal
  [Vergrößern]Leitfaden für PANTHEON-Web Recht
 [Reduzieren]Benutzerhandbücher für PANTHEON Web
  [Vergrößern]Erste Schritte PANTHEON Web
  [Vergrößern]Benutzerhandbuch für PANTHEON Web Light
  [Vergrößern]Benutzerhandbuch für das PANTHEON Web-Terminal
  [Vergrößern]Benutzerhandbuch für PANTHEON Web Legal
[Reduzieren]PANTHEON Granulate
 [Reduzieren]Leitfäden für PANTHEON Granulate
  [Vergrößern]Granula Kadri
  [Vergrößern]Granula Reiseaufträge
  [Vergrößern]Granula Dokumente und Aufgaben
  [Vergrößern]Dashboard Granule
  [Vergrößern]B2B-Bestellungen Granulat
  [Vergrößern]Feldservice-Granulat
  [Vergrößern]Granula Inventura osnovnih sredstev
  [Vergrößern]Granula Inventura des Warenlagers
 [Reduzieren]Benutzerhandbücher für PANTHEON Granulate
  [Vergrößern]Erste Schritte
  [Vergrößern]Personalgranulat
  [Vergrößern]Reiseaufträge Granulat
  [Vergrößern]Granula Dokumenti
  [Vergrößern]B2B-Bestellungen Granulat
  [Vergrößern]Dashboard Granule
  [Vergrößern]Feldservice-Granulat
  [Vergrößern]Bestandsgranulat für Anlagevermögen
  [Vergrößern]Lagereinlagerung Granulat
[Vergrößern]Benutzerseite

Load Time: 1469,0374 ms
"
  1006269 | 218629 | 487852 | AI translated
Label

Bericht mit Gruppen

Bericht mit Gruppen

Im vorherigen Beispiel haben wir einen zweistufigen Bericht basierend auf den Daten aus zwei Tabellen erstellt. Ein weiterer Bericht, der gleich aussieht, kann in FastReport erstellt werden, diesmal basierend auf einem Datensatz, der aus einer verbundenen Abfrage erhalten wurde.

Um dies zu tun, wird eine SQL-Abfrage benötigt, die Daten aus beiden Tabellen zurückgibt und auf eine bestimmte Weise sortiert ist . In unserem Beispiel werden die Tabellen über das  "acSubject" Feld aus der Kunden- und das "acConsignee" Feld aus der Bestelltabelle verbunden. Die Abfrage könnte sein:

select *
from tHE_SetSubj, tHE_Order 
where tHE_SetSubj.acSubject = tHE_Order.acConsignee
order by tHE_SetSubj.acSubject

Die "order by" Zeile ist erforderlich, um die Datensätze nach dem Feld “acSubject” (Kunde) zu sortieren.

Wie kann ein mehrstufiger Bericht mit diesen Daten gestaltet werden? Es gibt ein spezielles Band, den “Gruppenheader”. Eine Bedingung (ein Datenbankfeldwert oder ein Ausdruck) wird für das Band festgelegt; das Band wird jedes Mal ausgegeben, wenn sich der Wert der Bedingung ändert. Das folgende Beispiel veranschaulicht dies.

Erstellen wir ein neues Projekt in Delphi und platzieren die Komponente “TfrxDlDBQuery”. Setzen Sie die Eigenschaften der neuen Komponente mit dem Namen "DlDBQuery​1" wie hier gezeigt:

SQL =

'select *
from tHE_SetSubj, tHE_Order       
where tHE_SetSubj.acSubject = tHE_Order.acConsignee
order by tHE_SetSubj.acSubject'

UserName = 'Gruppe'

Fügen Sie ein “Gruppenheader”-Band zum Bericht hinzu. Setzen Sie eine Bedingung (in diesem Fall das Datenfeld “Group.acSubject”) im Editor des “Gruppenheaders”:

Verknüpfen Sie auch das Datenband mit der “Gruppe” Datenquelle und arrangieren Sie einige Objekte wie gezeigt (beachten Sie, dass der Gruppenheader über dem Datenband platziert werden muss):

Das “Gruppenheader”-Band wird nur ausgegeben, wenn sich der Wert des Feldes, mit dem es verknüpft ist, ändert. Andernfalls wird das Datenband, das mit dem “Gruppen”-Datensatz verbunden ist, angezeigt. Wenn wir diesen Bericht mit dem zuvor erstellten Master-Detail-Bericht vergleichen, ist offensichtlich, dass die Bestellnummern überhaupt nicht sortiert sind. Dies kann leicht korrigiert werden, indem die 'order by'-Klausel der SQL-Abfrage geändert wird:

select *
from tHE_SetSubj, tHE_Order
where tHE_SetSubj.acSubject = tHE_Order.acConsignee
order by tHE_SetSubj.acSubject, tHE_Order.acKey

Berichte mit geschachtelten Gruppen können auf ähnliche Weise gestaltet werden. Die Tiefe der Verschachtelung von Gruppen ist unbegrenzt. Berichte, die Gruppen verwenden, haben einige Vorteile gegenüber Berichten des Master-Detail-Typs:

  • der gesamte Bericht benötigt nur einen Datensatz (Abfrage)
  • die Anzahl der Daten Gruppierungsebenen ist unbegrenzt
  • Daten sortieren wird möglich
  • optimale Nutzung der Datenbankressourcen (die Abfrage gibt nur einen Datensatz zur Ausgabe zurück, wobei die Filterung durch die Abfrage erfolgt).

Der einzige Nachteil ist die Notwendigkeit, Abfragen in der SQL-Sprache zu schreiben. Ein grundlegendes Wissen über SQL ist jedoch für jeden Programmierer, der mit Datenbanken arbeitet, praktisch obligatorisch.

 

 

Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!