You need to correlate two subforms, both within the main parent form, so that as you navigate to a row in the first subform the second is requeried to show the rows relating to the current row in the first. There are a couple of ways of doing this:
1. In the parent form add a hidden text box whose ControlSource property is a reference to the first subform's primary key, e.g.
=ServicesSubformControl.Form.ServiceID
Set the LinkMasterFields property of the second (Goals) subform control to the name of the hidden text box, e.g. txtServiceIDHidden, and the LinkChildFields property to the name of the corresponding foreign key in the subform's underlying table or query,
e.g.ServiceID.
2. Alternatively base the goals subform on a query with a reference to the first subform's key as a parameter on the ServiceID column, e.g.
Forms!YourParentForm!ServicesSubformControl.Form!ServiceID
and in the first subform's Current event procedure requery the second subform control.
The first method is more usual and more efficient. I did find I had to resort to the second recently, however, because for some unaccountable reason the first method did not work correctly. Only adopt the second method as one of last resort, though.
Ken Sheridan, Stafford, England