Commetti diverse imprecisioni anche gravi...!
1°
Dim X As Object
Set X = Me.RecordsetClone
In questo caso è meglio fare così
Dim X As DAO.Recordset
Set X = Me.Recordset.Clone
2°
X.FindFirst "[IDNominativi]=" & Str(Me.Elenco1)
Me.Bookmark = X.Bookmark
Dopo il metodo invocato [FindFirst] devi rilevare la proprietà NoMatch altrimenti usare la gestione errori...!
X.FindFirst "[IDNominativi]=" & Str(Me.Elenco1)
If Not X.Nomatch Then Me.Bookmark = X.Bookmark
3°
questo non è un'errore ma un suggerimento
beta = "select idNominativi,nome from nominativi where (nome like " & Chr$(34) & "*" & alfa & "*" & Chr$(34) & ");"
io lo cambierei così
beta = "select idNominativi, nome from nominativi where nome like '*" & alfa & "*';"
4°
Me.Elenco1.RowSource = beta
Me.Elenco1.Requery
La riassegnazione del RowSource produce in automatico il REQUERY quindi il 2° che fai tu è inutile.
Per la segnalazione devi verificare tu se il Campo si chiama [IDNominativi] oppure solo [ID]...