Alla fine ho risolto, condivido per chi ne dovesse avere bisogno.
La mia ignoranza mi ha portato a ragionare su alternative creative e alla fine la soluzione è stata abbastanza semplice:
Dim i As Integer
Dim t As Integer
DoCmd.RunCommand acCmdRecordsGoToLast
t = Me.CurrentRecord
DoCmd.GoToRecord , , acFirst
For i = 0 To t - 1
Flag = True
DoCmd.GoToRecord , , acNext
Next i
DoCmd.GoToRecord , , acFirst
Mi posiziono sull'ultimo record, lo memorizzo in T, torno al primo record e mi piazzo TRUE dal primo (0) all'ultimo record (T) del mio campo per la selezione.
Agendo sui record lavora solo su quelli visualizzati in maschera, mettendo dei filtri non va a selezionare anche i campi non visualizzati (a differenza di una query).
Avrò fatto sicuramente delle porcate che se scritte meglio avrebbero risparmiato delle righe ma mi arrangio con le conoscenze che ho.
Bastava ragionarci un pò