Have you tried the wizard about finding unmatched records? It produces an
outer join:
SELECT a.*
FROM a LEFT JOIN b ON a.f1=b.f1
WHERE b.f1 IS NULL
Sure, that may not what you expect, if there are duplicated values: Someone
may expect that {1, 1, 1, 2, 3} - { 1, 1, 2} produces { 1, 3} since
only two 1 are asked to be removed, leaving one in the result, but with the
query here up, you would get simply {3}, removing all records having a
possible match, ie, removing all 1, even if the subtractor has less of them
than the set we subtracted from.
If you prefer, you can also use a NOT IN, but that is slower:
SELECT *
FROM a
WHERE a.f1 NOT IN (SELECT f1
FROM b)
Vanderghast, Access MVP