Thank you for your help Jason.
I've changed all of the search criteria to use the AND operator and it's now working. I also applied a filter to the recordset before any search queries were performed so that only records for the currently logged in account were used in the records being searched. This has fixed the issue of records for other accounts being returned now.