Hi Stuart,
While you have 3 levels of related data here, it’s not impossible to accomplish this. If would be nice if you could simply nest a detail report within another detail report, but Report Designer does not allow us to do so. Instead, you need to “flatten” your data to use 2 tables instead of 3.
You can accomplish this by making use of Method linked fields. Just link all the data you need on the report from the top level table (Lessons) into the middle level table (Activity). You can now use the Activity table as the base table for the report. Your only detail table will be the bottom level table (Materials).
In order to build the report, you’ll need to add 2 Group Headers and 1 Detail Report. These will be configured as follows:
First Group Header:
Group Field: Activity.Lesson_RecordID
Fields to add below: The lesson fields via the linked fields in the Activity table
Second Group Header:
Group Field: Activity.RecordID
Fields to add below: Fields for the activities
Detail Report:
Data Member: Activity.Materials.Activity (the Materials table nested within the Activity table)
Fields to add below: Fields for the materials
Your result will be a report displaying the lesson in the first group header, all activities related to the lesson in the second group header and all materials related to the activity in the detail report. I hope this helps.
--Audisho