I want to be able to create a quote based on the info held on these
I want to be able to select which boxes are needed and total them.
I've tried using a solution I already use which involves a 'Line Items' layout which effectively adds products then totals below
A related lineitems table is exactly what you need. You may ultimately find it a better data model to put people, boxes and widgets in the same table. You can link in different "detail tables" to record data specific to people, boxes or widgits, but keep ID and cost fields in a common table.
Using your current structure, you'd need these relationships.
A portal to LineItems would be filled out where a field with a value list is used to specify whether that lineitem is a Box, people or widget record. Fields that look up data (such as cost data), would use an auto-enter calculation with this case function:
If ( ItemType = "Box" ; Boxes::Box_Cost ;
ItemType = "People" ; People::Hr_Rate ;
ItemType = "Widget" ; WIdgets::Widget_cost )
But note that you have to make an additional data entry selection and adding a 4 item type requires making quite a few design changes to your database. If you have single table of with all Box, People and Widget costing data in it, adding a 4th type of item to the system is strictly a data entry task.