Not sure if you found a solution for this or not. Here is something that should work for you. It may not be the most elegant of solutions, but it worked on my test table.
What I did is build two queries. The first query is used to find names that contain an excluded name in their string. Using the InStr() function, a name that contains an excluded name in the string will return a value of 1.
The second query is simply a matter of running an unmatched query on your table of names and the query built using the InStr() function.
So the first query (qryInString) would be:
Code:
SELECT DISTINCT tblNames.NameID, tblNames.NameTxt
FROM tblNames, tblExcludes
WHERE (((InStr(([tblNames]![NameTxt]),([tblExcludes]![exlName])))=1));
Then, run the unmatched query against this and your table.
Code:
SELECT tblNames.NameID, tblNames.NameTxt
FROM tblNames LEFT JOIN qryInString ON tblNames.NameTxt = qryInString.NameTxt
WHERE (((qryInString.NameTxt) Is Null));