MS Access Query summarizing 2 tables doesn't produce expected output
Create the query which calculates the amount of bad fruits per year and save it assigning the name [Bad Fruit Year]:

SELECT CYear, Fruit, SUM(Bad) AS Bad
FROM [Bad Fruit]
GROUP BY CYear, Fruit;


Then create the query obtaining the data You need:

SELECT p.ID, p.CYear, p.Fruit, p.Purchased, NZ(b.Bad,0) AS Bad, (p.Purchased-NZ(b.Bad,0)) AS Net
FROM [Purchased Fruit] As p
LEFT JOIN [Bad Fruit Year] As b ON p.CYear=b.CYear AND p.Fruit=b.Fruit;


As a result You will have 2 queries (to clear the Queries tab of DB window You can make the first query hidden). The second one gives the result You need, it automatically calls the first one (You do not need to call/open it) while opening.

If You want You may to combine these queries into one:

SELECT p.ID, p.CYear, p.Fruit, p.Purchased, NZ(b.Bad,0) AS Bad, (p.Purchased-NZ(b.Bad,0)) AS Net
FROM [Purchased Fruit] As p
LEFT JOIN ( SELECT CYear, Fruit, SUM(Bad) AS Bad
            FROM [Bad Fruit]
            GROUP BY CYear, Fruit) AS b ON p.CYear=b.CYear AND p.Fruit=b.Fruit;


But its text maybe damaged by MS Access if You open it for view/edit after create and store (the problem is old and still irreparable).

PS. I assume there is NOT a situation when some fruit is present [Bad Fruit] table for some year while absent in [Purchased Fruit] for the same year.