I've discovered why I'm getting multiple search results. The Financial table has a 1 to many relationship with the Member's table (the rest are 1 to 1). After counting the number of duplicate search results for each member I found the number of duplicates equals the number of records they have in the Financial table.
The Financial table has two key fields, one of the fields is the UserID, which is common across all the tables, and the other is a 6 digit random number to ensure each financial record for a member is still unique.
How do I join the Financial table into the SQL search string so that a member's multiple financial records don't add extra rows to the recordset? - I think my SQL is adding duplicate field names to the recordset which is adding new rows?