Provo a ripetere...
Quello che hai fatto è SBAGLIATO a prescindere ti piaccia di più....!!!
Se ottieni il risultato voluto non significa sia il metodo giusto...!
Portrebbero esserci altri fattori che inficiano le considerazioni che stiamo facendo di cui tu non tieni conto... quì dovrei analizzare un'esempio...!
Di fatto quello che ti ho suggerito ti garantisco che funziona da sempre... e da il risultato che deve dare... se il tutto, vale a dire il contorno, non interagisce in modo anomalo con il sistema ipotizzato...!!!!!
Perchè è sbagliato...?
Supponi di avere 100 ComboBox nella tua Form...!
Usando il Requery come hai fatto tu... TUTTE le 100 ComboBox verranno ricaricate con un traffico dati inutile ed un decadimento prestazionale assurdo...!!
Ti pare corretto ricaricarne 100 se ne hai modificata 1...?
NO ovviamente è sbagliatissimo a prescindere.
E' un concetto non solo di efficienza... ma di opportunità...!
Quindi nell'eventualità sarà da scrivere
Me!NomeCombo.Requery
questa sintassi forza sempre il Requery, ma della SOLA combo oggetto di azione di modifica.
Come ho già avuto modo di esporre, ma spesso non cogli le finezze dei suggerimenti, gli oggetti DataBound, tutti quindi Form/SubForm/Combo/ListBox, espongono metodi individuali per la RIESECUZIONE della query(Requery) che però si usa solo se il Recordset è stato oggetto di Aggiunte o Cancellazioni, oppure del Metodo REFRESH che invece si usa se il Recordset è stato oggetto di Editazione.
Il tuo caso è anomalo in quanto ha avuto effetto proprio sull'intera origine del RowSource, quindi il controllo attua una serie di riverifiche di impostazione(Columns, Rows, FieldType ecc..) il che genera un comportamento anomalo nel sistema..., gestibile chiaramente...!
In VBA il [Me] indica l'Oggetto nel quale si sta scrivendo il codice... se sei nella pagina VBA della Maschera il [Me] è riferito alla Maschera, se sei nella pagina della SubForm il [Me] è sempre l'oggetto contenitore quindi la SubForm, se sei in un Modulo di Classe il [Me] è l'istanza della Classe.
In un Modulo Standard non si usa il [Me] in quanto questo non è visto come un'oggetto con interfaccia.
Quindi se da una Form devi riferirti ad un'oggetto nella SubForm
Me!NomeSubForm!NomeOggetto.NomeProprietà