Consultar un nombre al ubicar caracteres mostrando una lista de coincidencias

Buenos días,
Quisiera saber como hacer una consulta de un nombre, tengo en mente que en el evento key press cuando las personas vayan colocando caracteres se vaya mostrando una lista de coincidencias o al menos que el cursor de ubique en el primer registro.
Me explico, si el usuario coloca J se actualice una lista de todos los nombres que comiencen con J y así a medida que los usuarios vayan introduciendo más caracteres se actualice la lista de acuerdo a las coincidencias (en el caso de Jo, jos, jose...)
Es que quiero hacer una lista de contactos telefónicos, pero estoy trabado allí, pues siempre trabajo de la misma manera, creo un indice y busco un código en especifico y en este caso no puedo implementarlo así.
Espero me haya explicado bien y puedas ayudarme, muchas gracias de antemano.
Saludos.
Respuesta
1
Espero poder ayudarte:
Bueno, podes hacer dos cosas; una sería que trabaje comparando el inicio del nombre y otra que busque en el nombre completo, por ejemplo si pones jose que traiga también a "Carlos Jose".
Para esto no vamos a trabajar con el evento keypress del formulario sino con el evento interactiveChange del textbox donde se escribe el nombre.
Lo primero seria que llenaras un grid con los datos que vienen de una tabla. Para esto vamos a crear un método llamado "llena" en el formulario.
Creamos un grid con dos columnas; nombre, teléfono
A la columna 1 le ponemos nombre
A la columna 2 le ponemos teléfono
Dentro del método ponemos algo así:
with thisform.grid
       .recordSource=""
       .nombre.controlSource=""
       .telefono.controlSource=""
endwith
mBusqueda=alltrim(thisform.texto.value)
select nombre, telefono from clientes where nombre=mBusqueda into cursor resultado
with thisform.grid
       .recordSource="resultado"
       .nombre.controlSource="resultado.nombre"
       .telefono.controlSource="resultado.telefono"
       .refresh
Endwith
En el evento interactiveChange del textbox ponemos:
Thisform. Llena()
Bueno, lo tendrías que adecuar a tu proyecto. Espero que sea de utilidad, estamos en contacto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas