La sintassi della query mi sembra giusta, poi dipende cosa vuoi ottenere.
Certo che usi di quei nomi !
per ottenere un recordset puoi fare cosi (usando DAO):
dim DBJet As Database
dim RJet as Recordset
query = "SELECT ....."
Set RJet = DBJet.OpenRecordset(query)
l'oggetto RJet contiene tutte le righe che risultano dalla query.
Ciao.