I'm thinking I must be missing something, because this looks like a simple totals query, grouped by MPN having a count >1 for Stock No, but there seems to be a contradiction in your statements:
the data set shows that
a unique MPN is used in different area locations
There is
no unique value in either Area Location, Stock No or
MPN.
otherwise, something like
SELECT tblMyTable.[MPN], Count(tblMyTable.[Stock Item No]) AS [CountOfStock Item No]
FROM tblMyTable
GROUP BY tblMyTable.[MPN]
HAVING (((Count(tblMyTable.[Stock Item No]))>1));
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.