Se il codice viene eseguito solo se
If Text3.Text = "" Then
allora vuol dire che non hai scritto nulla in quella textbox ... Come fai la ricerca quindi se non hai scritto il dato ?
Semmai deve essere
If Len(Text3.Text) > 0 Then
E poi l'assegnazione di Text3.Text prima a txt non ha senso ...
Il problema non e' se sei lontano o meno dal corretto codice per la ricerca ... il problema e' piu' alla base ... sembra che tu non abbia idea di come scrivere un programma ...
Te lo dico perche', se non hai le basi, e' difficile darti una mano ... Del resto ti avevo detto di usare il metodo Open del recordset per la ricerca e tu non l'hai fatto ...