How to make a report like Master-Detail

2019-09-04

The variety of electronic documentation sometimes seems to be limitless. However, in practice, not many types of documents are commonly used.

In electronic reporting, the most common type of document is a simple list. Then, there go complex lists. There can be many variations of complex lists, but the main one is a report of the type “Main” - “subordinate”. The essence of this type is that there is a dependency between data entities in a one-to-many scheme. That is, one record in the main table can correspond to several records in the subordinate. In practice, it looks like this:

Entries from the main table contain the name of the categories, their brief description and picture. Each category contains specific products. This example shows only one dependency “Main” - “subordinate”. But the subordinate table can also have its subordinate table, and then it will already be the main one for the second connection. Such hierarchical dependencies can be arbitrarily many. And now in practice, let’s consider how to create such a report.

First of all, we need a data source in which there will be two logically related tables, as in the example shown above.

Add a data source to the report. In our case there will be two related tables:

customer and orders.

In the “Data” window it looks like this:

 

Now we need to link these tables. To do this, click the Actions button in the data window. A drop-down list will open:

 

You need to select the item “New Relation”. In the relation edit form, we need to define the main and subordinate table, as well as the field by which they should be linked:

 

The main table is ‘customer’, its primary key is CustNo. The subordinate table is ‘orders1’, its foreign key CustNo. After successfully creating the connection, we will see it in the data window:

As you can see, a link to customer appeared in the orders1 table. If you open it, we will see all the same fields that are in the customer table.

We have prepared the data, now you need to create a report template.

By default, a single band Data is available in a blank report. Let's add some fields from the customer table: customer.Company, customer.Addr1, customer.Phone, customer.Contact. We will place these fields so that we get a certain company card:

 

Right click on the band header ‘Data’:

 

And select the item “Add detailed data band”. Click on the Configure bands ... link:

And add a header band for the Data2 band. To do this, select the Data2 band with the mouse and click the Add button. In the drop-down list, select Header.

After that, you can add fields from the orders1 table to the detailed “Data” band: orders1.OrderNo, orders1.SaleDate, orders1.AmountPaid. At the same time column headings will be added automatically. Format the headers, and our template is almost ready:

Double-click on the header of the “Data” band:

We select the customer table as a data source. Now let's do the same for the detailed “Data” band:

Now our report is ready to run. Let's see what we got:

20. November 2024

Lokalisierung und Ändern von Sprachen in FastReport VCL

FastReport VCL unterstützt 40 Sprachen für die Schnittstellenlokalisierung und ermöglicht es Ihnen, die Sprache im laufenden Betrieb über Menüs oder Code ohne Neukompilierung zu ändern.
1. November 2024

Neue Funktionen des FastReport VCL Berichtseditors

Wir betrachten die neuen Funktionen des Berichtseditors: Hilfslinien, Hervorhebung von sich schneidenden Objekten, aktualisierte Berichts- und Datenbäume.
30. Oktober 2024

Verwendung von Stilen beim Erstellen von Berichten in FastReport VCL

Dieser Artikel beschreibt eine der neuen Funktionen von FastReport VCL - die Verwendung von Stilen und Stilseiten.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.