Busqueda por coincidencias.

No se si me puedas ayudar nececito hacer una busqueda por coincidencias en visual foxpro 6.0 lo hago desde un cuadro de texto ingreso palabras y me muestra las coincidencias en un control grid el cual muestra todos los registros de una tabla, y solo me va mostrando los que coinciden con lo que ingrese en el cuadro de texto es un capo caracter en la tabla con el que trabajo y el problema es que solo muestra las coincidencias del cuadro de texto con la primer palabra de lo que contiene la tabla en el campo que le indico de manera que si por ejemplo quiero buscar coincidencias de nombres con "alfredo" solo me muestra:

Alfredo garcia, alfredo ramirez, etc.

Pero si hay uno que diga jose alfredo gomez gomez por ejemplo no los muestra por que solo va comparando con la primera palabra y pues solamente que le indique la palabra "jose" en el text box lo muestra.

Lo que quiero es que me muestre todas las coinicidencias de nombres que contengan la palabra que le indico en cualquier parte de la cadena e incluso por letras como se hace en los cuadros de busqueda por ejemplo en internet que ingresas palabras y te va desplegando listas de coincidencias las cuales puedes seleecionar.

Agradesco tu ayuda y espero poder compartir cosas que nospuedan ayuadar

1 Respuesta

Respuesta
1

Lo que intentas hacer es algo muy frecuente y sencillo, mira:

Ejemplo:

Datos a buscar: "alfredo"

Si tu campo se llama, digamos NOMBRES en una tabla de EMPLEADOS

Tu búsqueda en un select por ejemplo debe ser:

Select * from EMPLEADOS where 'alfredo'$NOMBRES

si usas un filtro

set filter to 'alfredo'$NOMBRES

Para un mejor resultado recuerda siempre unificar mayúsculas y minúsculas y quitar espacios iniciales y finales en a ambos lados del operador $, por ejemplo:

Select * from EMPLEADOS where upper(alltrim('alfredo'))$upper(alltrim(NOMBRES))

Finalmente, puedes sustuir la cadena entre comillas por una variable o campo tipo carácter:

Select * from EMPLEADOS where upper(alltrim(nombre_de_la_variable))$upper(alltrim(NOMBRES))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas