busqueda en grid mediante textbox

1,945 views
Skip to first unread message

Ingrid Craft

unread,
Apr 29, 2016, 7:45:01 PM4/29/16
to Comunidad de Visual Foxpro en Español

Hola! Estamos dando un curso de Visual FoxPro muy basico en la facultad y nos piden el siguiente enunciado:


Incluya un cuadro para mejorar la selección del empleado, para que a medida que se escribe parte de un apellido o parte de un DNI la grilla de nombres se vaya autofiltrando y muestre solo los registros que van coincidiendo con lo escrito 


Alguien que pueda darnos una idea para trabajarlo? Aclaro nuevamente que el curso que estamos dando es bastante basico.

Desde ya muchas gracias!!

Saludos a todos!!!

Esteban H

unread,
Apr 29, 2016, 8:05:04 PM4/29/16
to publice...@googlegroups.com

Hoy es Viernes.

Y para variar hay q hacer deberes!!! Je…

 

Saludos.

 

Esteban.

Carlos Alfaro

unread,
Apr 29, 2016, 8:46:58 PM4/29/16
to publice...@googlegroups.com

Estimada Ingrid:

 

El método a usar para este caso es InteractiveChange Event que tiene el textbox, en este método se debe escribir el código para filtrar.

 

En este momento no encuentro un ejemplo.

 

Tal vez algún otro amigo del foro te de una respuesta mas completa.

 

Bendiciones.

 

Carlos Alfaro

Message has been deleted
Message has been deleted

Ingrid Craft

unread,
Apr 30, 2016, 5:36:18 PM4/30/16
to Comunidad de Visual Foxpro en Español
Hola a todos!!

Mauricio el ejemplo ese no nos funciono. Tenemos un codigo cargado que nos funciona, pero el tema es que tenemos un ComboBox vinculado a la grilla que nos filtra por area la tabla personal. Una vez que aplicamos el buscador y borramos del textbox la busqueda no nos filtra mas por area, como si alguna propiedad de vinculacion faltara, o nose. 
Me explico? Alguien sabria como solucionarlo?

Gracias!

Foxshin

unread,
Apr 30, 2016, 7:42:06 PM4/30/16
to Comunidad de Visual Foxpro en Español
Hola :)
Imagino que estan usando el SET FILTER TO en ComboBox de areas, si ese es el caso solamente deben agregarle la condicion que establecen en el TextBox (obviamente unida con el conector lógico AND)

Espero sirva la ayuda

Saludos

Carlos Alfaro

unread,
Apr 30, 2016, 8:12:08 PM4/30/16
to publice...@googlegroups.com

Vean en el código si tiene una condición que al borrar el textbox limpia el filtro.

 

Lo normal es que el textbox no se limpie para conservar el filtro.

 

Bendiciones.

 

 

Carlos Alfaro

integral

unread,
Apr 30, 2016, 8:31:17 PM4/30/16
to Comunidad de Visual Foxpro en Español

Estimada Amiga :

Te muestro un ejemplo muy basico que tienes que complementar para que funcione según como lo deseas...

LOCAL lTexto1                                               

lTexto1 = ALLTRIM(This.Value)
SELECT scciudad                                            && Aqui pones el nombre de tu tabla                        
SET KEY TO lTexto1
GO TOP

DO CASE
CASE lTexto1 = "1"
SET ORDER TO cdpai DESCENDING
                SET KEY TO ALLTRIM(This.Value)
CASE lTexto1 = "2"
SET ORDER TO cdciu DESCENDING
                SET KEY TO ALLTRIM(This.Value)
ENDCASE
Thisform.grdScciudad.Refresh()

Te sugiero leas acerca del comando SET KEY TO, Queda en termina la tarea que falta..

Saludos,

INTEGRAL

integral

unread,
May 4, 2016, 7:03:54 PM5/4/16
to Comunidad de Visual Foxpro en Español

Estimada Amiga :

Llegaste a terminar tu trabajo, como quedo con los cambios..

Saludos,

INTEGRAL

El viernes, 29 de abril de 2016, 18:45:01 (UTC-5), Ingrid Craft escribió:

Elides Paredes

unread,
May 10, 2016, 10:32:12 PM5/10/16
to Comunidad de Visual Foxpro en Español
Hola..
Saludos.
Adjunto un formulario que hace eso que deseas hacer.
Tiene el formulario y una tabla llamada lista de repuestos, esa lista tiene 2 campos por donde se pueden hacer busquedas secuenciales, 

Espero te sea útil y a todos los que vean  ésto.

Recuerda que el formulario en su entorno de datos tiene la tabla con una dirección diferente a la que tu tendrás. debes volver a seleccionar en el entorno de datos la lista_de_repuestos.dbf desde la carpeta donde copies el formulario y las tablas (o simplemente donde coloques la tabla)

Saludos desde
Barquisimeto Venezuela
Elides Paredes


COMUNIDAD._rar

Antonio Meza

unread,
May 11, 2016, 1:02:29 PM5/11/16
to Comunidad de Visual Foxpro en Español
Elides al ejemplo le falta librerías vcx

saludos

Elides Paredes

unread,
May 11, 2016, 2:07:37 PM5/11/16
to Comunidad de Visual Foxpro en Español
Estimado amigo Antonio

Mis saludos Cordiales.

En realidad no entiendo eso que dices. No existe una librería.vcx ni ninguna librería.

te da algún error?
Todo lo que necesita se hace con el código. 
Para texto1 (control) usa ésto en el interactivechange

nom = ALLTRIM(this.value)

WITH This.parent.List6

.RowSourceType = 3
.RowSource = "select referencia,descripcio,precio;
   FROM Lista_de_repuestos;
        WHERE  AT(nom,ALLTRIM(STR(Lista_de_repuestos.referencia))) > ( 0 );
        ORDER BY Lista_de_repuestos.descripcio into cursor temporal"
*.RowSourceType = 3
.Refresh

if .listcount = 0
 messagebox("Precio no registrado",0+64,"Atención")
endif  

ENDWITH 

De forma interactiva va creando el cursor y lo muestra luego en el cuadro de lista. En realidad es muy sencillo. Sin embargo preferí tomarlo de un formulario, por eso está en un contenedor. Así se muestra mas simpático en el formulario de forma "maximizada", y cuando termina la búsqueda simplemente hace invisible el contenedor.

Saludos 
desde Barquisimeto Venezuela
Elides Paredes.

Alberto Mancuso

unread,
May 11, 2016, 2:09:56 PM5/11/16
to publice...@googlegroups.com

En el botón buscar la selecionas de la carpeta visualfoxpro9 figura ahi la vcx

integral

unread,
May 11, 2016, 2:32:56 PM5/11/16
to Comunidad de Visual Foxpro en Español

Estimado Amigo ANTONIO :

La clase que mencionas que le falta es una clase base de VFP 9.0 y que lo puedes encontrar en el directorio raiz de VFP.

Amigo ELIDE : 

Buen ejemplo pero utilizas un LISTBOX y me parece que el ejemplo planteado por la colega estudiante se refiere a la utilizacion de un GRID.

Saludos,

INTEGRAL

El viernes, 29 de abril de 2016, 18:45:01 (UTC-5), Ingrid Craft escribió:

Elides Paredes

unread,
May 11, 2016, 3:25:06 PM5/11/16
to Comunidad de Visual Foxpro en Español
Saludos Panchimancuso...

Perdona la pregunta. Ese es un nombre? es que me suena muy extraño..
Hablas de un botón del formulario que envié? o de otra cosa. Porque mi formulario no tiene ni librerías, ni botón de búsqueda. 

Integral, también es raro,, jajaja.. No, es broma.. jajaja..
lo importante de mi formulario, es que muestra una forma de utilizar una función, para crear una búsqueda secuencial. El cursor luego se puede mostrar en un cuadro de lista, combinado o en un grid. Da igual. No te parece? además la idea de ella es enseñar y tambien debe aprender, por eso estamos todos aqui.. jejeje..

Saludos a mis buenos amigos..
Elides Paredes.

Alberto Mancuso

unread,
May 11, 2016, 3:46:14 PM5/11/16
to publice...@googlegroups.com

Amigo elides a mi me  dicen panchi por Francisco q es mi nombre y mancuso es mi apellido je el botón q digo es cuando quieres abrir en formulario y sale una ventana q dice q no encuentra una vcx y aparece un botón para buscar
Cambiando de tema q Hosting puedo contratar de argentina q aceda a mi bd MySQL y acepte confección remota
Gracias y lindo el formulario de busqueda

Elides Paredes

unread,
May 11, 2016, 4:16:45 PM5/11/16
to Comunidad de Visual Foxpro en Español
Amigo Panchi...

La verdad estoy muy desconcertado. Tanto que volví a bajar de aquí mismo lo que había enviado. Y rectifiqué. El formulario que yo envié no tiene un botón de búsqueda. Ni utiliza librerías de ningún tipo.

Tampoco hay que hacer click en un botón para acceder al formulario. Cuando corres el formulario, hace la búsqueda se hace automáticamente cuando escribes en el cuadro de texto. Ese cuadro tiene un procedimiento en el InteractiveChage que a medida que escribes va creando un cursor que va llenando el cuadro de lista.
La verdad no comprendo que está sucediendo.

Saludos.

Elides Paredes.


Elides Paredes

unread,
May 11, 2016, 4:23:46 PM5/11/16
to Comunidad de Visual Foxpro en Español
Ah...! y respecto a la pregunta, del hosting. como ves, soy de Venezuela, no tengo la mas mínima idea de Argentina.. Sólo se que hablan muy bien el Argentino..jajaja.. 

Así dijo. en una entrevista, televisada,  una mis,  que lo que mas le gustaba de Francia era como hablaban el Francés, jajaja..

Y la mejor forma de organizar las consultas es abrir un tema nuevo por cada tema. 

Saludos amigo...
Elides Paredes
Barquisimeto Venezuela.

integral

unread,
May 11, 2016, 7:05:42 PM5/11/16
to Comunidad de Visual Foxpro en Español

Que tal amigo ELIDES :

Lo que sucede es lo siguiente...

Cuando descargas el archivo adjunto y luego ejecutas el formulario te aparece el siguiente mensaje de error ( Imagen Adjunta)

Ahi el detalle de la controversia...

Saludos,

INTEGRAL

El viernes, 29 de abril de 2016, 18:45:01 (UTC-5), Ingrid Craft escribió:
Error.jpg

Fidel Charny

unread,
May 11, 2016, 7:27:15 PM5/11/16
to Comunidad de Visual Foxpro en Español
Muestro el problema:
    ADD OBJECT 'Container2.Lbl_Nombre_Repuesto' AS embossedlabel WITH ;
       
Alignment = 2, ;
       
AutoSize = .F., ;
       
BackStyle = 1, ;
       
BorderStyle = 1, ;
       
Caption = "Ingrese el nombre de Repuesto", ;
       
FontSize = 9, ;
       
ForeColor = 250,0,0, ;
       
Height = 14, ;
       
Left = 189, ;
       
Name = "Lbl_Nombre_Repuesto", ;
       
Top = 25, ;
       
Visible = .T., ;
       
Width = 200, ;
       
WordWrap = .F., ;
       
ZOrderSet = 26
       
*< END OBJECT: ClassLib="..\..\proyecto\libreria2\wizembss.vcx" BaseClass="label" />

    ADD OBJECT
'Container2.Lbl_Referencia' AS embossedlabel WITH ;
       
Alignment = 2, ;
       
AutoSize = .F., ;
       
BackStyle = 1, ;
       
BorderStyle = 1, ;
       
Caption = "Buscar Referencia", ;
       
FontSize = 9, ;
       
ForeColor = 250,0,0, ;
       
Height = 14, ;
       
Left = 45, ;
       
Name = "Lbl_Referencia", ;
       
Top = 25, ;
       
Visible = .T., ;
       
Width = 122, ;
       
WordWrap = .F., ;
       
ZOrderSet = 26
       
*< END OBJECT: ClassLib="..\..\proyecto\libreria2\wizembss.vcx" BaseClass="label" />

Elides Paredes

unread,
May 11, 2016, 7:36:07 PM5/11/16
to Comunidad de Visual Foxpro en Español
Amigo Integral. 
Usted es lo máximo.

Realmente estaba preocupado, he visto cada 20 minutos ésta página a ver si me daban respuesta.
Diste con el problema y también con la solución. El control del cual está pidiendo la clase base es de container, que por supuesto es de VFP,, yo no la hice, pero si la copié, no se como de mi librería que está en esa dirección que señala también Fidel.
Ahora entiendo.
Para los que no la vieron direccionen la búsqueda a VFP. esa librería es propia de VFP, solo que yo la llamé de mi propia carpeta, para que al instalar en otra computadora no me la pida, aunque ahora creo que es un error. ¿cierto?

En todo caso queda resuelto el enigma.. jajaja
Saludos amigos..
Elides Paredes


integral

unread,
May 11, 2016, 11:51:12 PM5/11/16
to Comunidad de Visual Foxpro en Español

Gracias por tus palabras, el crédito también es creo yo del maestro FIDEL.

Hasta la proxima.

atte.,

INTEGRAL

El viernes, 29 de abril de 2016, 18:45:01 (UTC-5), Ingrid Craft escribió:
Reply all
Reply to author
Forward
0 new messages