BTW, when you listed your tables, you left out the join table: Staff_Training :smileywink:
Two options come to mind:
Option1: If every instance of staff training that you want to see in your report is preceded by a Defect record...
Add a link to the Staff_Training table so that you can display any training events associated with a given defect.
Base your layout on the Defects table and add a portal to display related Staff_Training records. You can set the portal to shrink and reduce the body part to eliminate blank spaces in your report.
Option 2: Merge your Staff_Training and Defects records into a single table. You might be able to redesign your database to make this a permanent change, or you could set up a temporary table and use import records to copy records from Staff_Training and Defects into the temp table. Now base your report on the contents of this temporary table.
Option 1 wouldn't work for me I think because training would actually rarely be preceeded by a defect record. This is because our production process is regularly changed and so training is often required but, thankfully, the training is very good and so there aren't too many defect records.
Option 2 sounds the more likely approach. As I have only created dummy test records so far I'm guessing that merging the tables now would be better than creating a temporary table.