Serve fare una considerazione INIZIALE importante.
Il Campo su cui fai la ricerca, ha già qualche Formattazione, oppure il Controllo associato è RTF ma il campo è PLAINTEXT...?
Questo perchè se il testo è PLAINTTEXT non puoi usare il campo originale, di conseguenza nemmeno il Controllo originale non è una buona idea... in quanto perdi traccia di quello che fai e rimuovere poi l'evidenzia della ricerca è poco intelligente, quindi devi fare qualche cosa a RUNTIME appoggiandoti ad un Controllo "TEMPORANEO" da valorizzare al momento.
Quì poi da capire se sei in Maschera SINGOLA o CONTINUA... cambia leggermente la cosa ma non tanto.
Es, se cerchi PIPPO, conviene prendere il contenuto del Controllo Associato e sfruttare il REPLACE:
Dim TestoDaCercare As String
TestoDaCercare="PIPPO"
Me!ControlloRicercaEvidenziata=Replace(Me!ControlloOriginale,TestoDaCercare,"<font color=red>" & TestoDaCercare & "</font> )
Serve appoggiarsi a questo controllo in quanto se fai più ricerche sporcheresti il Valore del campo originale e poi non è semplice togliere la formattazione.
Se le ricerche sono Multiple, la cosa si complica, io userei una COLLECTION, meglio realizzare una Classe specifica per l'applicazione della ricerca se vuoi COLORI DIVERSI o altro..., per gestire un codice un poco più funzionale anche come STACK ma da quì serve capire meglio quanto hai autonomia di scrittura codice... ma meglio prima capire l'esigenza giusta per non complicare le cose inutilmente.