Although your multiple-table method would work, it is a bit more complex than you need or want.
I would approach it this way...
Table: Parts
contains whatever your parts table ever contained.
Table: Assembly
contains an assembly number and descriptive information. The assembly number could be autonumbered.
Table: PartsList
contains an assembly number, a part number (and possible a quantity for that part?)
Now your form creates assemblies. When you create a new assembly, your PartsList SUBFORM is linked to the assembly number. Since this is a new assembly, it has no matching parts in the parts list.
When you click on the part from the Parts table, all you need to do is write that part number, the assembly number (which is also on your form), and that optional quantity.
This approach means you only have one table for the partslists that you want to build. It is qualified by an assembly number, so you can still call up any assembly at any time. You still can create new, empty assemblies and populate them. But now you can also write a single report that tells you the contents of every assembly you ever put together. You can also do frequency analysis of "most popular parts" for all assemblies by doing counts for every part number. You can do the backwards list of "what assemblies use this part?" from a single table.
Doing it with multiple tables won't allow you to do that easily. Trust me, this method gives you tons more flexibility and functionality.