Hi Ray
Thank you so much for the steer, it works with your suggestion slightly amended as follows:
SELECT *
FROM downloads
WHERE ((downloads.Edinburgh = 1 AND ParamEdinburgh = 1) OR (downloads.Borders = 1 AND ParamBorders = 1) OR (downloads.Dundee = 1 AND ParamDundee = 1) OR (downloads.Glasgow = 1 AND ParamGlasgow = 1) OR (downloads.Inverness = 1 AND ParamInverness = 1) OR (downloads.Perth = 1 AND ParamPerth = 1) OR (downloads.Aberdeen = 1 AND ParamAberdeen = 1)) AND ((downloads.Lead = 1 AND ParamLead = 1) OR (downloads.Practitioner = 1 AND ParamPractitioner = 1) OR (downloads.Custom = 1 AND ParamCustom = 1))
GROUP BY Filename
A bit long-winded, but who cares as long as it works! Thanks again!