ciao Elena,
[...]
Ho costruito una maschera che fa riferimento a una tabella,
[...]
tecnicamente, hai una maschera associata alla tabella oppure bound.
[...]
nella maschera si sono evidenziati i restanti campi di detto record,
[...]
campi propri di tabella e queries, controlli di forms e reports.
da me ho eseguito questo test :

Form e combo sono settate con le caratteristiche che hai espresso nel tuo post.
Ogni volta che clicco e scelgo una categoria diversa, la maschera si sincronizza con la scelta effettuata nella comboBox e posso scorrere i records successivi con il pulsante che vedi nell'intestazione della form vicino alla combBox,.
Il codice dopo aggiornamento della comboBox è :
Option Compare Database
Option Explicit
Private Sub cboCat_AfterUpdate()
With Me.RecordsetClone
.FindFirst "idcategoria=" & Me.cboCat
If Not .NoMatch Then
Me.Bookmark = .Bookmark
End If
End With
End Sub
che cosa succede non appena l'evento dopo aggiornamento della comboBox si scatena?
con il metodo findFirst cerchi e rendi corrente la prima ricorrenza del criterio "idcategoria=" & Me.cboCat.
Verifichi con il metodo noMatch se la corrispondenza è stata trovata ed in caso affermativo, sincronizzi il recordset della form il recorsetClone.
Il command Button ha lo stesso codice che mostri tu nel suo evento click.
Facci sapere come hai agito tu....
Altro consiglio spassionato...personalizza sempre, sempre, il nome dei controlli che crei nella form, comando117 oggi per certo ti fa pensare allo scorrimento dei records, domani forse dovrai navigare nella form per cercarlo...e se hai molti
commandButtons perderai un sacco di tempo....oltre a questo è una buona pratica per la programmazione.
[...]
Grazie e scusa il disturbo.
[...]
Nessun disturbo, sei sempre la benvenuta...!
Ciao, Sandro.