Così su due piedi non saprei dirti. Dovrei scomporre la tua query per capire esattamente cosa faccia.

A livello teorico occorrerebbe creare una situazione del genere, in pratica ordinare la tua query di partenza per gruppo crescente, punteggio decrescente e riuscire a creare un campo posizione che si incrementi via via e che si resetti al cambio di gruppo.

codice:
id_gruppo punteggio   posizione
1         20              1
1         19              2
1         18              3
1         18              4
2         10               1
2         10               2 
2         10               3
2         10               4
3          5                1
3          4               2
3         3                3
3         2                4
In questo modo basterebbe fare, nel mio esempio, per sommare i tre punteggi maggiori di ciascun gruppo

codice:
select id_gruppo, Sum(punteggio) as totale
from tabella
where posizione < 4
group by id_gruppo
Purtroppo access non consente l'uso di variabili all'interno della query.
Temo che sia necessario ricorrere a qualche escamotage in vba ma sarei felice di essere smentito.