Per selezionare le Tabelle puoi usare delle ComboBox nelle quali inserisci come RowSource la seguente
SELECT MsysObjects.Name
FROM MsysObjects
WHERE (((Left$([Name],4))<>"Msys")
AND ((MsysObjects.Type)=1))
ORDER BY MsysObjects.Name;
Se poi vuoi limitarne la scelta introduci un ulteriore criterio al NOME...
Fatta la tua Selezione poi devi vedere tu come gestire la Query e le variazioni...
Per modificare il predicato della Query puoi pensare ad un REPLACE di un Testo con il Nuovo NomeTAbela...
Per accedere al predicato SQL leggi la proprietà SQL dell'Oggetto QueryDef
strSQL=DbEngine(0)(0).QueryDef("NomeQuery").SQL
strSQL=Replace(strSQL,"OldValue1","NewValue1")
' se devi sostituire 2 Nomi farai 2 AZIONI
strSQL=Replace(strSQL,"OldValue2","NewValue2")
' Quindi riassegni la stringa...
DbEngine(0)(0).QueryDef("NomeQuery").SQL=strSQL
....