Interactive Change, para ir filtrando (búsqueda interactiva por letras)

2,018 views
Skip to first unread message

K!k3

unread,
May 21, 2013, 11:43:31 AM5/21/13
to publice...@googlegroups.com
Hola a todos.

Quiero sugerencias y ayuda de como hacer lo siguiente:

Tengo un form y hay un Cuadro Combinado donde escojo el usuario para iniciar sesión.

En el interctiveChange había puesto esto

THISFORM
.R1 = .T.
thisform.clave.Enabled= .T.
thisform.clave.SetFocus


Pero, resulta que lo probamos en un cliente que sus usuarios todos comienzan con "N" y obvio, del primero se salta al campo clave que es para el password.

Bueno, lo que yo necesito es que sí hay varios con esa letra, no salte sino que se quede ahí... y así sucesivamente hasta cuando ya quede un único valor y ahí sí salte.

Ejemplo:

N01264
N01277
N02889
N10000

Si despues de la N presiono 0 y despues 2; automáticamente seleccione el usuario N02889 y ahí sí salte al campo clave sin tener que digitar el resto del nombre; si después de la N, presione el 1 ya pase al campo clave.

Espero haberme hecho entender.

Víctor Navarro
Ing. de Sistemas
Barranquilla, COLOMBIA
3008102508
ICQ 279 364 380
Face: +573008102508
MSN: eres_u...@hotmail.com <desactivado>
Mail: eres_u...@yahoo.es
Whatsapp: +573008102508
Skype: eres_un_vago

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
May 21, 2013, 12:50:24 PM5/21/13
to publice...@googlegroups.com
Hola te sugiero que revises mi blog que tengo algo parecido para lo que estas buscando. Busqueda Incremental

Pd.: Descargate mi grilla que tiene multiples funciones como filtrar, multiseleccion, búsqueda, etc del siguiente link http://www.developervfp.blogspot.com/p/gridlibre-v35.html. Ahora también puedes bajarte mi ultima herramienta Busqueda Incremental con un TEXTBOX http://developervfp.blogspot.mx/p/busqueda-incremental-con-un-textbox.html  las herramientas viene con código fuente, ojo no hacer mal uso por favor. 


Saludos; 


Ing. Russvell Jesus Soto Gamarra 
San Juan del Rio - Queretaro - Mexico 
Nextel.: 52*133750*16
rycjesusrj @ hotmail.com 

K!k3

unread,
May 21, 2013, 4:49:44 PM5/21/13
to publice...@googlegroups.com
No sé como utilizarlo; el ejemplo tiene una base de datos, pero no veo tabla. No más al empezar me bota un messagebox "FALLA DE CONEXION" y no me deja hacer nada.

Gracias

K!k3

unread,
May 21, 2013, 4:51:28 PM5/21/13
to publice...@googlegroups.com
Se ve muy interesante, y supongo que es eso lo que necesito yo; pero no lo he podido implementar, pues el ejemplo no me deja probar.
Gracias.

K!k3

unread,
May 21, 2013, 5:34:25 PM5/21/13
to publice...@googlegroups.com

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
May 21, 2013, 6:03:37 PM5/21/13
to publice...@googlegroups.com
Hola solo tienes que fijarte en la configuración en las propiedades, si te das cuenta en el INIT esta la conexion a la base de datos de mysql bueno si usas DBF tienes ponerle en la propiedad del textbox.

Fidel Charny

unread,
May 21, 2013, 6:10:54 PM5/21/13
to publice...@googlegroups.com
El problema es que en cada cambio funciona InteractiveChange. TEndrías que poner tu código en el Click y que le den Enter al encontrado.

Víctor Hugo Espínola Domínguez

unread,
May 22, 2013, 1:23:58 AM5/22/13
to publicesvfoxpro
Hola tocayo

Mira si te sirve el adjunto.

Saludos,
Víctor.

kk3._rar_

K!k3

unread,
May 22, 2013, 11:24:09 AM5/22/13
to publice...@googlegroups.com
Bueno tocayo, esto sí era a lo que yo me refería; obvio, me tocó deshabilitar el InteractiveChange y logré lo que me proponía.
Gracias.

Pero; (nunca falta el bendito pero) hay un pequeño detalle; ¿como hago cuando el usuario se equivoca? es decir, se le va una tecla de más; si doy Backspace y borro el último caracter, igual, ya filtró y no me deja escoger otro usuario.

Me gustó mucho la clase de MalkaSoft; pero no la pude implementar, pues no usé textbox en este campo sino un listbox; pero sin duda es un gran GRAN aporte. Felicidades compañero.

¿Que me recomiendan compañeros?

Víctor Hugo Espínola Domínguez

unread,
May 22, 2013, 12:17:57 PM5/22/13
to publicesvfoxpro
Hola tocayo

El código que te envié procesa el <Backspace>, si se borra el último carácter se actualiza el cursor sobre la marcha. El problema que yo le veo es que no visualiza "en vivo" los registros seleccionados, para ello es necesario usar un grid para la exhibición de los datos. Puedes mirar este ejemplo:
DO form ( HOME(2)+"solution\controls\combobox\lookup.scx" )

Saludos,
Víctor.

K!k3

unread,
May 22, 2013, 12:42:12 PM5/22/13
to publice...@googlegroups.com
¿Como asigno el valor del DispalyValue al Value, para que este lo tome?; pues es un inicio de sesión y cuando valido pues el value está empty y no deja entrar.

Bueno, no importa lo del backspace; toca advertirle a los clientes; aunque sí me preocupa, pues al hacer click en la lista desplegable ya está "filtrado" y la única solución es cerrar la ventana (y el programa)

Llueve, llueve, llueve en mi Barranquilla

K!k3

unread,
May 22, 2013, 12:51:22 PM5/22/13
to publice...@googlegroups.com
Ya resoví lo de pasar el valor... lo hice en el LostFocus; ahora sí me preocupa lo del Backspace, no sé como resolverlo, pero voy a mirar el código detenidamente a ver como lo puedo modificar, ya que no me deja borrar. Bueno sigo después que regrese de almorzar.

K!k3

unread,
May 22, 2013, 5:09:19 PM5/22/13
to publice...@googlegroups.com
Pensé que había solucionado, pero aún no; se me ocurre usar un grid, pero visible = .F. y que el valor del grid lo "muestre" en el textbox; ¿que tan viable sería esto? ¿es posible? Y es que al ser un cursor (y no la tabla); cuando valida me dice que no hay usuario seleccionado.

¿Alguna sugerencia?

Víctor Hugo Espínola Domínguez

unread,
May 22, 2013, 6:18:51 PM5/22/13
to publicesvfoxpro
DO form ( HOME(2)+"solution\controls\combobox\lookup.scx" )

Saludos,
Víctor.

Víctor Hugo Espínola Domínguez

unread,
May 22, 2013, 10:54:54 PM5/22/13
to publicesvfoxpro
Hola tocayo

Adjunto ejemplo usando grid.

Saludos,
Víctor.



El 22 de mayo de 2013 17:09, K!k3 <eres.u...@gmail.com> escribió:
kk32._rar_

Víctor Hugo Espínola Domínguez

unread,
May 23, 2013, 12:18:50 AM5/23/13
to publicesvfoxpro
Ahí va otro ejemplo usando InteractiveChange, sale más simple!

Saludos,
Víctor.

kk33._rar_

K!k3

unread,
May 23, 2013, 12:25:22 PM5/23/13
to publice...@googlegroups.com
Lo de regresar el valor del cursor al listbox, era un error mío del tipo de listbox (Ya lo resolví)

Me gustó el sistema que usas ahora; que al borrar un caracter te actualiza la lista de posibles opciones de usuarios. Cosa que en mi ejemplo no he logrado implementar.
Realmente no uso un TextBox, lo que quiero es ir filtrando a medida que tecleo (excelente, ya funciona); pero, al borrar un caracter no "desfiltra", en tus nuevos ejemplos veo que sí sucede.

Igual te mando una copia de mi form, para que lo observes

Gracias
K1k3.zip

Víctor Hugo Espínola Domínguez

unread,
May 23, 2013, 12:38:55 PM5/23/13
to publicesvfoxpro
Hola tocayo

Falta "Entorno.dbf" y "Hernan.vcx"

Saludos,
Víctor.

K!k3

unread,
May 23, 2013, 12:56:27 PM5/23/13
to publice...@googlegroups.com
Se puede sacar del entorno de datos; o darle omitir (después de todo lo que se va a hacer está es en el form).
Igual, ahí van por si acaso.
K1k3.zip

Víctor Hugo Espínola Domínguez

unread,
May 23, 2013, 1:13:54 PM5/23/13
to publicesvfoxpro
No se puede abrir un form sin los vcx( y vct) correspondientes.

"hernan.vct" ?

Saludos,
Víctor.

K!k3

unread,
May 23, 2013, 3:34:14 PM5/23/13
to publice...@googlegroups.com
K1k3.zip

Víctor Hugo Espínola Domínguez

unread,
May 23, 2013, 4:28:23 PM5/23/13
to publicesvfoxpro
Hola tocayo

En el KEYPRESS de "Forma1" :

LPARAMETERS nKeyCode, nShiftAltCtrl

IF UPPER( This.ActiveControl.Name ) = "USUARIO"
RETURN
ENDIF

.
.
.

Saludos,
Víctor.

K!k3

unread,
May 23, 2013, 6:23:45 PM5/23/13
to publice...@googlegroups.com
Listo Tocayo, pero esto es para...

¿para que es esta validación?

Gracias

Víctor Hugo Espínola Domínguez

unread,
May 23, 2013, 6:39:41 PM5/23/13
to publicesvfoxpro
Se está atrapando nKeyCode=127 en ambos eventos KEYPRESS y el primero que se dispara es el del form.

Saludos,
Víctor.

Reply all
Reply to author
Forward
0 new messages