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:

.NET .NET FastReport FastReport
July 10, 2025

How to Build and Connect the Firebird Plugin in FastReport .NET

In this article, we will go through the process of building and connecting the Firebird plugin in FastReport .NET through the report designer and via code.
July 04, 2025

How to Transition from FastReport Publisher to the Corporate Server

In this material, we will discuss the reasons for replacing Publisher with the Corporate Server along with a migration plan.
June 27, 2025

Publisher — the Ideal Solution for Small and Medium-Sized Businesses

In this article, we will take a detailed look at how these services help address different user needs so that you can choose the solution that best fits your requirements.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.