Ciao nman, grazie per il tempo e la proposta che hai pubblicato!
Appena riesco la provo e riporto un fdbk..
Nel frattempo posto un paio di soluzioni anche io.

1 Tramite query, niente tabelle di passaggio niente vba
2 Con VBA, una funzione semplicissima

****************************
Campo1: Mettiamo il campo da indicizzare, ipotiziamo che si chiami C1 e deriva dalla Tab1

Campo2 calcoliamo il ranking con la seguente formula:
Ranking: (Select Count (*) from Tab1 Where [C1] < [emp_Tab1].[C1]+1;)

emp_Tab1 è il nome della tabella che ho inserito nella query xò per poter fare questo tipo di espressione gli assegno un alias tramite le proprietà

Il risultato sarà questo:

Valori di C1:

Prova
pippo
pippo
Pluto
Nonno

Risultato:

Prova 1
pippo 2
pippo 2
pluto 3
nonno 4

Se volete una sequenza unica raggruppate il campo con una query precedente al ranking..

Questo sistema però è lento! più del VBA perchè esegue una query per ogni record letto...
Se leggete da una query che fa già diversi calcoli fate notte..

Questa invece la funzione VBA per calcolare il ranking
Applicate questo metodo solo se devete farlo su una base dati non superiore ai 32k di record perchè il VBA non va oltre.. :( va in overflow...

codice:
Option Compare Database

Public Indicizza As Integer

Function Conteggia(testo As String)
    Indicizza = Indicizza + 1
    Conteggia = Indicizza
End Function