if you make a 3th table,
FK: foreign key
PK: primary key
name: connector, it has two fields:
part_id // FK you put into this the part_id's value
assembly_id //FK and here goes the assembly ID value.
in your parts field, lets take an ID field,
part_id //PK
part
description
grade
lenght
weight
and in Assembly i put another field, called assembly_code, if its not needed, delete it.
assemblyid //PK
description
weight
assembly_code
select the parts, and count how many assemblies connected (for example a part code is aaaa1):
SELECT parts.part, Count(connector.assembly_id) AS CountOfassembly_id
FROM parts INNER JOIN connector ON parts.part_id = connector.part_id
GROUP BY parts.part
HAVING (((parts.part)='aaaa1'));
select one part, and list the assemblies where the part_id is 1 : (part_id is not equal with your park code)
SELECT parts.part, parts.part_id, Assembly.description, Assembly.weight, Assembly.assembly_code
FROM (parts INNER JOIN connector ON parts.part_id = connector.part_id) INNER JOIN Assembly ON connector.assembly_id = Assembly.assemblyid
GROUP BY parts.part, parts.part_id, Assembly.description, Assembly.weight, Assembly.assembly_code
HAVING (((parts.part_id)=1));