lcBusca="GUTIE"
LcLike=[%]+lcBusca+[%] && con los dos [%], "GUTIE" puede estar en cualquier posición.
&& si necesito que esté a la izquierda: LcLIke=lcBusca+[%]
SELECT nombre,cuit,recno() as Registro FROM mitabla WHERE nombre LIKE lcLike INTO CURSOR curREsult readwrite
SELECT curResult
BROWSE
* Acá puedo seleccionar (generalmente con un control GRid) uno de los registros detectados y:
lnRegistro=REgistro
USE && cierro el cursor de búsqueda (curResult)
SELECT miTabla
GO lnRegistro && pongo el puntero sobre el registro encontrado.
&& Con el ejemplo, traerá, por ejemplo todos los Gutierrez que encuentre.
Si lcBusca="GUT", traerá a los Gutierrez y a los Gutemberg.
Si lcBusca="GU", traerá los Gutierrez, los Gutemberg, los Guatemala y los Gustavo (y otros como los Guisani, Gualberto, Maiztegui, Miguel, etc).
Si quieres que traiga solamente los que empiezan con "GU"; LcLike=[%]+" "+lcBusca+[%], aunque en este caso no te traerá la palabra más a la izquierda.
Para que te traiga todos los registros que tengan alguna palabra que comienze con "GU":
lcBusca="GU"
lcLike=LcBusca+[%]
SELECT nombre,cuit,RECNO() as registro FROM mitabla WHERE nombre like lcLike OR LEFT(nombre,LEN(lcBusca))==lcbusca INTO CURSOR curREsult readwrite
SELECT curResult
browse
Nota: Con select Sql, conviene tener índices por los campos en los que se busca habitualmente, pero no es necesario utilizar SET ORDER TO TalEtiqueta. SELECT-SQL considerará las etiquetas que necesite.