To reduce the number of queries you send to the database, along with the associated round-trip delay, you could
'SELECT County FROM Counties WHERE ' . join(' OR ', map "ID = $_", @current_member_ids) . ' order by ID' and then loop over the results building the associations for each member record.
(Also note that Access may also support an alternative to that OR list using a syntax like "ID is in (7, 12, 42)"; and as a general rule, you should consider using placeholders instead of embedded values in literal queries as shown above.)
It's true that you can't do it all in one query, for the reasons mentioned in other replies, but doing it in a constant two queries and a foreach loop is definitely better than doing hundreds of separate queries, one for each match.