CrystalReports: Gruppen in Reports: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Allgemeines == Eine wichtige Funktion von CrystalReports ist es, dass man Daten gruppieren kann. Damit kann man d…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
 
== Aufgaben von Gruppen ==
 
== Aufgaben von Gruppen ==
  
Eine Gruppe wird immer eingesetzt, wenn bei einer Änderung eines Datenfeldes im Detailbereich ein Überschrift (Gruppenkopf) und (optional) ein Summenbereich (Gruppenfuß) ausgegeben werden soll.
+
Eine Gruppe wird immer eingesetzt, wenn bei einer '''Änderung eines Datenfeldes im Detailbereich''' eine Überschrift (Gruppenkopf) und (optional) ein Summenbereich (Gruppenfuß) ausgegeben werden soll.
  
 
Beispiel:
 
Beispiel:
  
Sie wollen eine Liste mit Auftragdaten aus Kopf, Postionen und Fuß erzeugen. Also erstellen Sie einen neuen Report, in dem Sie die drei benötigten Tabellen der Datenbank einbauen. Sie verknüpfen die Tabellen so:
+
Sie wollen eine Liste mit Auftragdaten aus Kopf, Postionen und Fuß erzeugen. Also erstellen Sie einen neuen Report, in dem Sie die drei benötigten Tabellen der Datenbank einbauen.
 +
* Auftragskopf (MAUFKO)
 +
* Auftragspositionen (MAUFPO)
 +
* Auftragsfuß (MAUFFU)
 +
 
 +
Sie verknüpfen die Tabellen so:
  
 
[[Datei:CrystalReport_Bsp_Verknuepfung_MAUFKO.jpg]]
 
[[Datei:CrystalReport_Bsp_Verknuepfung_MAUFKO.jpg]]
 +
 +
Beachten Sie die Hinweise zum [[CrystalReports: Verknüpfen von Tabellen|Verknüpfen von Tabellen]].
  
 
Dann bauen Sie im Detailbereich die gewünschten Felder ein. Beispiel (ohne Gruppe):
 
Dann bauen Sie im Detailbereich die gewünschten Felder ein. Beispiel (ohne Gruppe):
Zeile 30: Zeile 37:
 
[[Datei:CrystalReport_Grundsaetzlicher_Aufbau_einer_Gruppe.jpg]]
 
[[Datei:CrystalReport_Grundsaetzlicher_Aufbau_einer_Gruppe.jpg]]
  
Und genau diesen Aufbau kann mit im Report mit einer Gruppe erzeugen! Dazu klickt man im Detailbereich einmal kurz auf die Auftragsnummer mit der linken Maustaste. Dann und wählt man aus dem Menü "Bearbeiten" (oben) "Einfügen⇒Gruppe" aus. Ein Dialogfenster wird eingeblendet, in dem man ein paar Optionen für die Gruppe angeben kann:
+
Genau diesen Aufbau kann mit im Report mit einer Gruppe erzeugen! Dazu klickt man im Detailbereich '''einmal kurz''' auf die Auftragsnummer mit der '''linken''' Maustaste. Dann wählt man aus dem Menü '''"Bearbeiten"''' (oben) '''"Einfügen⇒Gruppe"''' aus. Ein Dialogfenster wird eingeblendet, in dem man ein paar Optionen für die Gruppe angeben kann:
  
 
[[Datei:CrystalReport_Tipps_Gruppe_Einfuegen.jpg]]
 
[[Datei:CrystalReport_Tipps_Gruppe_Einfuegen.jpg]]
  
Im Normalfall kann man die Standardoptionen mit '''OK'' bestätigen. In den Report werden nun zwei neue Bereiche eingefügt: Ein Gruppenkopf und ein Gruppenfuß.
+
Das aktuell ausgewählte Feld ist schon ausgewählt. Wenn Sie ein anderes Feld wollen, können Sie es hier auswählen.
 +
 
 +
'''* Immer wenn sich der Wert des ausgewählten Feldes ändert, wird der Gruppenkopf ausgegeben. Am Ende der Gruppe (also wenn sich der Wert wieder ändert), wird der Gruppenfuß aufgerufen.'''
 +
* Die Reihenfolge kann '''Aufsteigend''' oder '''Absteigend''' gewählt werden.
 +
* Wenn man eine Gruppe einrichtet, wird der Report immer nach dem ausgewählten Feld '''sortiert'''! Hat man im Report eine Sortierung gewählt, wirkt sich diese nur '''innerhalb der Gruppe''' aus.
 +
* Im Normalfall kann man die Standardoptionen mit '''OK''' bestätigen.
 +
 
 +
In den Report werden nun zwei neue Bereiche eingefügt: Ein Gruppenkopf und ein Gruppenfuß.
  
Nun kann man die Felder "Auftr.Nr." und "Kunde" aus dem Detailbereich in den Gruppenkopf ziehen, die Summe in den Gruppenfuß. Unser Rpeort sieht nun so aus:
+
Nun kann man die Felder "Auftr.Nr." und "Kunde" aus dem Detailbereich in den Gruppenkopf ziehen, die Summe in den Gruppenfuß. Unser Report sieht nun so aus:
  
 
  Auftr.Nr. Kunde    Pos.  Art.Nr.  Menge  Bezeichnung    Ges.Summe
 
  Auftr.Nr. Kunde    Pos.  Art.Nr.  Menge  Bezeichnung    Ges.Summe
Zeile 78: Zeile 92:
 
  Auftr.Nr. Kunde     
 
  Auftr.Nr. Kunde     
 
  Pos.      Art.Nr.  Menge  Bezeichnung    Ges.Summe
 
  Pos.      Art.Nr.  Menge  Bezeichnung    Ges.Summe
  ---------------------------------------------------
+
  ===================================================
 
  1000      Meier                          1.234,56
 
  1000      Meier                          1.234,56
 
  ---------------------------------------------------
 
  ---------------------------------------------------
Zeile 84: Zeile 98:
 
  1.2      4712        1    Auchwas   
 
  1.2      4712        1    Auchwas   
 
  1.3      4713      11    Nawas     
 
  1.3      4713      11    Nawas     
  ---------------------------------------------------
+
  ===================================================
 
  1001      Müller                          2.234,00
 
  1001      Müller                          2.234,00
 
  ---------------------------------------------------
 
  ---------------------------------------------------
  1.1   5711      20    Äpfel           
+
  1.1       5711      20    Äpfel           
  1.2   5712      21    Birnen           
+
  1.2       5712      21    Birnen           
  1.3   5713        1    Orangen         
+
  1.3       5713        1    Orangen         
  ---------------------------------------------------
+
  ===================================================
 +
 
 +
== Verschachteln von Gruppen ==
 +
 
 +
Gruppen können ineinander verschachtelt werden. Die Verarbeitung erfolgt dabei von der obersten zur untersten Gruppe.

Aktuelle Version vom 3. Februar 2013, 21:06 Uhr

1 Allgemeines

Eine wichtige Funktion von CrystalReports ist es, dass man Daten gruppieren kann. Damit kann man die Daten aus dem Detailbereich in Abschnitte unterteilen.

2 Aufgaben von Gruppen

Eine Gruppe wird immer eingesetzt, wenn bei einer Änderung eines Datenfeldes im Detailbereich eine Überschrift (Gruppenkopf) und (optional) ein Summenbereich (Gruppenfuß) ausgegeben werden soll.

Beispiel:

Sie wollen eine Liste mit Auftragdaten aus Kopf, Postionen und Fuß erzeugen. Also erstellen Sie einen neuen Report, in dem Sie die drei benötigten Tabellen der Datenbank einbauen.

  • Auftragskopf (MAUFKO)
  • Auftragspositionen (MAUFPO)
  • Auftragsfuß (MAUFFU)

Sie verknüpfen die Tabellen so:

CrystalReport Bsp Verknuepfung MAUFKO.jpg

Beachten Sie die Hinweise zum Verknüpfen von Tabellen.

Dann bauen Sie im Detailbereich die gewünschten Felder ein. Beispiel (ohne Gruppe):

Auftr.Nr. Kunde    Pos.   Art.Nr.   Menge  Bezeichnung    Ges.Summe
-------------------------------------------------------------------
1000      Meier    1.1    4711        2    Irgendwas       1.234,56
1000      Meier    1.2    4712        1    Auchwas         1.234,56
1000      Meier    1.3    4713       11    Nawas           1.234,56
1001      Müller   1.1    5711       20    Äpfel           2.234,00
1001      Müller   1.2    5712       21    Birnen          2.234,00
1001      Müller   1.3    5713        1    Orangen         2.234,00

Das ist ganz nett so, aber die Spalten Auftr.Nr., Kunde und Ges.Summe wiederholen sich mehrfach, das ist unschön, verwirrt und nimmt Platz weg!

Wenn man sich den Aufbau eines Auftrags im Programm anschaut, dann sieht das ja so aus:

CrystalReport Grundsaetzlicher Aufbau einer Gruppe.jpg

Genau diesen Aufbau kann mit im Report mit einer Gruppe erzeugen! Dazu klickt man im Detailbereich einmal kurz auf die Auftragsnummer mit der linken Maustaste. Dann wählt man aus dem Menü "Bearbeiten" (oben) "Einfügen⇒Gruppe" aus. Ein Dialogfenster wird eingeblendet, in dem man ein paar Optionen für die Gruppe angeben kann:

CrystalReport Tipps Gruppe Einfuegen.jpg

Das aktuell ausgewählte Feld ist schon ausgewählt. Wenn Sie ein anderes Feld wollen, können Sie es hier auswählen.

* Immer wenn sich der Wert des ausgewählten Feldes ändert, wird der Gruppenkopf ausgegeben. Am Ende der Gruppe (also wenn sich der Wert wieder ändert), wird der Gruppenfuß aufgerufen.

  • Die Reihenfolge kann Aufsteigend oder Absteigend gewählt werden.
  • Wenn man eine Gruppe einrichtet, wird der Report immer nach dem ausgewählten Feld sortiert! Hat man im Report eine Sortierung gewählt, wirkt sich diese nur innerhalb der Gruppe aus.
  • Im Normalfall kann man die Standardoptionen mit OK bestätigen.

In den Report werden nun zwei neue Bereiche eingefügt: Ein Gruppenkopf und ein Gruppenfuß.

Nun kann man die Felder "Auftr.Nr." und "Kunde" aus dem Detailbereich in den Gruppenkopf ziehen, die Summe in den Gruppenfuß. Unser Report sieht nun so aus:

Auftr.Nr. Kunde    Pos.   Art.Nr.   Menge  Bezeichnung    Ges.Summe
-------------------------------------------------------------------
1000      Meier  
                   1.1    4711        2    Irgendwas 
                   1.2    4712        1    Auchwas   
                   1.3    4713       11    Nawas     
                                                           1.234,56
1001      Müller
                   1.1    5711       20    Äpfel
                   1.2    5712       21    Birnen
                   1.3    5713        1    Orangen
                                                           2.234,00

Schon viel besser, oder? Mit ein Bisschen Kosmetik kann man nun die Spalten verschieben, Linien einziehen usw. Das Ergebnis:

Auftr.Nr. Kunde    
Pos.      Art.Nr.   Menge  Bezeichnung    Ges.Summe
---------------------------------------------------
1000      Meier  
---------------------------------------------------
1.1       4711        2    Irgendwas 
1.2       4712        1    Auchwas   
1.3       4713       11    Nawas     
---------------------------------------------------
                                        1.234,56
===================================================
1001      Müller
---------------------------------------------------
1.1    5711       20    Äpfel           
1.2    5712       21    Birnen          
1.3    5713        1    Orangen         
---------------------------------------------------
                                        2.234,00
===================================================

Man könnte die Gesamtsumme auch im Gruppenkopf unterbringen! Dann wird die Summe in einer Zeile mit dem Kopf angezeigt:


Auftr.Nr. Kunde    
Pos.      Art.Nr.   Menge  Bezeichnung    Ges.Summe
===================================================
1000      Meier                           1.234,56
---------------------------------------------------
1.1       4711        2    Irgendwas 
1.2       4712        1    Auchwas   
1.3       4713       11    Nawas     
===================================================
1001      Müller                          2.234,00
---------------------------------------------------
1.1       5711       20    Äpfel           
1.2       5712       21    Birnen          
1.3       5713        1    Orangen         
===================================================

3 Verschachteln von Gruppen

Gruppen können ineinander verschachtelt werden. Die Verarbeitung erfolgt dabei von der obersten zur untersten Gruppe.