Hola Yessi, yo lo haría de esta forma:
en el evento ..interactichange del textbox iria el codigo mas o menos asi,
&& almaceno lo digitado en una variable
cadena=alltrim(this.value)
&& genero la consulta con los registros que coincidan con el parametro ingresago
select * from tablename where nombrefield like '%'+'&cadena'+'%' into cursor fantasma
&&selecciona el cursor lectura-escritura del formulario donde se encuentra el grid
select cursor_temp
zap &&elimino el contenido del cursor
append from dbf('fantasma') &&agrego el resultado de la consulta
go top && ubico el cursor en el primer registro
&&en la propiedad name del formulario donde se encuentra el grid indica un nombre para identificarlo posterior mente name=FRM_BUSQ
&&busco el formulario en la aplicacion actual
for i=1 to _screen.formcount
if upper(_screen.forms(i).name)='FRM_BUSQ'
_screen.forms(i).grid1.refresh
endif
next
notas:
para realizar el append from dbf() el cursor a actualizar y la consulta deben tener los mismos campos con los mismos nombres
no vincules la tabla directamente, usa en el grid un cursor readwrite para actualizarlo posteriormente
espero me halla hecho entender, y suerte.