Menü

Gruppen über das Formular

Zurück | Ebene zurück

 

Allgemein

Statistiken, die Zwischensummen über die Berichtsvorlage definieren, müssen hierzu alle Details vom Datenbankserver abrufen. Dies kann bei umfangreichen Daten sehr viel Zeit in Anspruch nehmen. Kommt es bei den Abfragen nur auf die Zwischensummen an, so empfiehlt sich der Ansatz, die Zwischensummen über den SQL-Server berechnen zu lassen.

Das Verfahren, die Zwischensummen in der Berichtsvorlage zu ermitteln, hat verschiedene vor- und Nachteile.

Vorteile:

  • Detailinformationen können ausgegeben werden
  • Einfache Datenquelle genügt

Nachteile:

  • Langsam bei großen Datenmengen
  • Es werden stets alle Daten vom SQL-Server geladen
  • Benötigt höhere Netzwerkbandbreite
  • Das Layout ist aufwendig

Der große Vorteil, die Zwischensummen in der Berichtsvorlage zu ermitteln, liegt darin, dass man umfangreiche Details ausgeben kann. Es wird ein Bericht erstellt, der alle Aufträge sortiert, nach Kundenmatch auflistet und für jeden Kunden eine Zwischensumme und am Ende des Ausdrucks eine Gesamtsumme ausgibt. Das folgende Beispiel zeigt diesen Ansatz:

1. Neuen Bericht anlegen.

Als erstes wird ein neuer Bericht im gewünschten Bereich anlegt; hier im Bereich „Aufträge“.

2. Die Datenquelle anlegen

Danach muss eine neue Datenquelle definiert werden. Hierbei ist es wichtig, dass nach dem Feld sortiert wird, zu dem im Ausdruck gruppiert werden soll. Jedesmal, wenn sich der Wert dieses Feldes ändert, wird die Gruppe aktiv und eine Zwischensumme wird ausgedruckt.

3. Den Bericht anpassen
  • Die Gruppe wird hinzugefügt. Dazu wird der Gruppen-Dialog mit Strg+G aufgerufen.



    Das Gruppenfeld „Match“ auswählen

    Dadurch werden im Entwurf zwei neue Bänder erzeugt.

    Gruppenkopf[0] und Gruppenfuß[0], jeweils mit einer eigenen Option, wonach zu gruppieren ist. Werden mehrere Zwischensummen benötigt, so gibt es entsprechend mehrere Gruppen und entsprechend viele Gruppenbänder.







     

     

    Die Zusatzbänder
     

  • Nun stellt man sich den Bericht nach seinen Vorstellungen zusammen, gewisse Dinge (Datum, Kundenmach, Betrag usw.) in den Detailbereich, zunächst ungeachtet der Absicht, Zwischensummen zu bilden.
  • In den Gruppenfuß fügt man dann ein „DBCalc“ Element ein, das die gewünschten Werte summiert (hier „VkBrutto“). Dieses bekommt automatisch das Attribut „Zurücksetzen mit Gruppe...“, zu finden im Popup-Menü (rechte Maustaste) unter „Berechnungen“. Dort muss die gewünschte Gruppe gewählt sein (geschieht automatisch, wenn das Feld in den richtigen Gruppenfuß gesetzt wurde). In diesem Beispiel ist es das Feld „Match“, denn wir sortieren und gruppieren nach „Match“, und immer am Ende eines Kunden soll die Summe ausgegeben und wieder auf Null zurückgesetzt werden, damit der nächste Kunde seine eigene Zwischensumme bekommt.

    <---Zwischensumme mit zurücksetzen< />












                Endsumme ohne Zurücksetzen --->
     

  • Im Entwurf werden im Detailbereich die Felder des Auftragskopfes positioniert. Im Gruppenfuß wird eine Datenbankberechnungsvariable vom Typ „DbCalc“ positioniert. Im rechten Mausmenü kontrollieren Sie die Eigenschaft „Berechnung“ auf den Berechnungstyp „Summe“ und dass die Variable bei wechselndem Inhalt des Feldes „Match“ zurückgesetzt wird. Hierdurch kann dann im nächsten Summenbock der nächste Kunde addiert werden. In der Zusammenfassung wird ebenfalls ein Feld „DbCalc“ hinzugefügt; dort wird aber diese Variable nicht zurückgesetzt.

            Die fertige Berichtsvorlage


Man kann auf diese Weise beliebige Berichte um Zwischensummen erweitern, ohne sich um Datenquellen oder SQL kümmern zu müssen. Wichtig ist nur, dass die Daten nach dem Gruppenfeld sortiert sind.