I need to create a report that shows, for each master row, two sets of child (detail) rows. In database terms you can think of this as table ‘A’ having a 1:M relationship to table ‘B’ and also a 1:M relationship to table ‘C’. So, for each row from table ‘A’, I want to display a list of child rows from ‘B’ (preferably in one section) and a list of child rows from ‘C’ (preferably in another section). I would also prefer to avoid the use of sub-reports, if possible. How can I best accomplish this?
Thanks.
I think I understand your question correctly, ie for a given row in Table A, you want the details section(s) to show all connected rows in Table B and then all connected rows in Table C (for any number of rows in B or C, including zero). I only know of two solutions to this, neither of which is straightforward.
The first is, as you’ve guessed, the disliked subreport option.
The second involves some additional work in the database; specifically, creating a view that combines the entries in Table B and Table C into one table, which can then be used in the main report as a linkable object to report on and you can group on Table A as desired. How straightforward this is will depend on how similar the structures of B and C are. If they were effectively identical, the view could contain something simple like
However, neither option will scale well to reports with lots of results (unless your server supports indexing the view).