Qualsiasi funzione fatta nei moduli e applicata in un qualsiasi campo di query può analizzare fino a 32k di record.
l'overflow in access è sempre dopo i 32k di record (sia che la funzione sia complessa o no)
è un limite di access che non riesco a capire come possa essere bypassato.

Per questo motivo non l'ho postata, perchè averla o no non cambia nulla, il problema è capire se c'è un modo di resettare (penso una memoria o altro che non so) in modo che i cicli possano essere superiori ai 32k

Ad ogni modo la funzione è questa:
codice:
Function Conteggia(testo As String)
    Indicizza = Indicizza + 1
    Conteggia = Indicizza
End Function
Sulla query la funzione viene richiamata così:
Campo: Conteggia(nomecampodaconteggiare)

La funzione fa un ranking, si può fare anche con giri di query access ma il tempo di esecuzione è astronomico se si superano i 50k di record, quindi la soluzione più ottimale è il VBA che purtroppo ha questo limite