I have created a database of three tables Client, Project, Participant, TestName and Scores. I have enabled referential integrity in the relationships. Client may have many Projects and a project may have many Participants.

I have three combo box controls the value selected in the Client cbo is used in the row source query to populate the Projects cbo and that value is used in the row source query to populate the Participants cbo.

When I select a participant I want to populate a "grid" with the participant's scores. Since there is no grid control in Access I was looking at using a subform. But it is not populated like a cbo or list box. And I am not sure if that is the correct control to use in this case.

What I need is a control that is:
Populated from a join (I would guess a record set) from all of the tables but only shows the columns I need.
Allows me to edit existing rows in the grid and save the changes to the source tables
Allows me to append new records and save to the source tables.

What control should I use and how do I do it? Can some one provide some sample code or direct me to a sample?