Praxis: Untertabellen korrekt definieren

Nehmen wir an, Sie möchten eine Liste aller Kunden realisieren, in der die Bestellungen des jeweiligen Kunden und alle Bestellposten sichtbar sind.

In der zugrundeliegenden Datenquelle stehen dafür die relational verknüpften Tabellen Kunden (Customers) > Bestellungen (Orders) > Posten (Order_Details) zur Verfügung.

Sie stellen sich das Ergebnis ungefähr so vor:

 

Abbildung 5.8: Hierarchische Rechnungsliste

Gehen Sie dazu folgendermaßen vor:

1.  Wählen Sie Einfügen > Berichtscontainer (Objekte > Einfügen > Berichtscontainer).

Abbildung 5.9: Registerkarte "Einfügen"

2.  Ziehen Sie im Arbeitsbereich mit gedrückter linker Maustaste das Objekt auf die gewünschte Größe auf.

3.  Daraufhin erscheint ein Auswahldialog für das gewünschte Element. Wählen Sie das Element "Tabelle" aus.

Abbildung 5.10: Auswahl Element

4.  Geben Sie im folgenden Dialog die Datenquelle an. Es werden alle zur Verfügung stehenden Tabellen hierarchisch angezeigt, d. h. unter den Tabellen finden Sie die jeweils relational verknüpften Tabellen. Über das Suchfeld können Sie eine 'Enthält'-Suche durchführen.

Abbildung 5.11: Datenquelle auswählen

Für die Rechnungsliste benötigen Sie die Struktur Kunden (Customers) > Bestellungen (Orders) > Posten (Order_Details).

Sie haben an dieser Stelle nun 2 alternative Vorgehensweisen:

a)        Sie wählen die Tabelle "Customers" aus um zuerst die "oberste" Tabelle zu erstellen. Dies entspricht einer TopDown-Vorgehensweise, d. h. anschließend fügen Sie über das Toolfenster "Objekte" die Untertabelle "Orders" und dann die Untertabelle "Order-Details" hinzu.

b)        Oder Sie wählen sofort die gewünschte Struktur aus, indem Sie die "unterste" Tabelle auswählen. Dies entspricht einer BottomUp-Vorgehensweise, d. h. alle 3 Tabellen werden erstellt und Sie beginnen mit dem Design der "untersten" Tabelle.

5.  Für dieses Beispiel entscheiden Sie sich für die 2. Möglichkeit, d. h. Sie selektieren die Tabelle "Customers > Orders > Order_Details".

6.  Daraufhin erscheint ein Auswahldialog mit allen Feldern der Tabelle "Order_Details".

Abbildung 5.12: Daten-Auswahlassistent

In diesem Dialog wählen sie nun die Spalten für diese Untertabelle. Doppelklicken Sie beispielsweise auf die Felder "ProductID", "Quantity", "UnitPrice" und "ProductName" aus der 1:1-verknüpften Tabelle "Products". Die Felder werden damit in den Bereich "Spalten" übernommen. Die Reihenfolge lässt sich dann über die Pfeil-Schaltflächen ändern.

7.  Im Arbeitsbereich werden nun alle Tabellen angezeigt, die Tabelle "Order_Details" wird optisch hervorgehoben.

▪    Die ausgewählten Felder werden in der Datenzeile ausgegeben, d. h. die Datenzeile enthält die Daten.

▪    Außerdem wurde automatisch eine Kopfzeile erstellt. Kopfzeilen werden meist als Spaltenüberschriften genutzt, d. h. hier werden nun die ausgewählten Feldnamen als Text dargestellt.

▪    Die Breite der Spalten wird automatisch angepasst. Sie können die Breite der Spalte manuell anpassen, indem Sie mit der Maus die Rahmenlinie nach rechts oder links verschieben.

Hinweis: Dies verändert alle Tabellenspalten, deren Separatoren innerhalb eines +/-2mm-Intervalls von der Mausposition sind. Bei gedrückter Strg-Taste wird die Aktion nur für die Linie, auf der sich die Maus befindet, durchgeführt. Bei aktivierter Option "Breite einzeln ändern" (Tabelle > Breite einzeln ändern bzw. Strg+M bzw. Projektoption "Größenveränderung verändert nächste Spalte") ist eine Änderung der Breite von Tabellenspalten auf Kosten der Folgespalte möglich, d. h. die Folgespalte wird entsprechend kleiner.

8.  Um nun die Spalten der Tabelle "Orders" zu definieren doppelklicken Sie diese im Toolfenster "Objekte".