My thoughts are that your table structure is not normalized which causes your
issues. If I understand, you are using "MSPiC, Talent, Mentoring,..." as
field names and assigning a numeric value to each. I would change the
structure so that these are values in a field rather than field names.
If you can't change the structure, consider creating a normalizing union
query like:
quniProductServices
===============
SELECT ID, [MSPiC] as Rating, "MSPiC" as Category
FROM [Product/Service]
UNION ALL
SELECT ID, [Talent], "Talent"
FROM [Product/Service]
UNION ALL
SELECT ID, [Mentoring], "Mentoring"
FROM [Product/Service]
UNION ALL
--etc--
Then you could use a query like:
SELECT [Employee List].Name, Rating, Category
FROM [Employee List] INNER JOIN quniProductServices ON [Employee List].ID =
quniProductServices.ID
WHERE quniProductServices.Category = Forms!frmName!cboCategory
AND Rating>4;