Enlazar 2 ComboxBox - Visual Foxpro 9.0
Quisiera realizarte una consulta nueva. Tengo 2 combobox: combo1 y combo2. El combo 1 desplegá los valores 1, 2, 3, 4. El combo 2 desplegá los valores: PAPELERÍA, OFICINA, ÚTILES, ELECTRÓNICA. La lógica de esto es que el usuario elija un numero de del combo1 y la descripción del combo2 a la que pertenece. Es decir, así:
1 - papelería
2- Oficina
3- Útiles
4- Electrónica
Me pareció buena idea que el usuario, pudiese escoger ambos valores de una sola vez... Es decir que, al escoger un numero del combo 1, automáticamente "llame" o haga coincidir el combo 2 con su descripción. Ejemplo: Si elije 1 en combo el valor 1, que aparezca AUTOMÁTICAMENTE el valor que corresponde a la descripción en el comb2 "PAPELERIA" y así no tener que estar escogiendo en combo1 y 2... Sino unicamente en el combo1. Yo probé con esto, en el valid del combo1:
LOCAL nValComb1, nValComb2, nValComb3, nValComb4
nValComb1 = 1
nValComb2 = 2
nValComb3 = 3
nValComb4 = 4
IF THISFORM.Combo1.Value =>1 AND THISFORM.Combo1.Value<= 4
DO CASE
CASE THISFORM.Combo1.Value = nValComb1
THISFORM.Combo2.Value = "PAPELERIA"
CASE THISFORM.Combo1.Value = nValComb2
THISFORM.Combo2.Value = "OFICINA"
CASE THISFORM.Combo1.Value = nValComb3
THISFORM.Combo2.Value = "UTILES"
CASE THISFORM.Combo1.Value = nValComb4
THISFORM.Combo2.Value = "ELECTRONICA"
ENDCASE
ELSE
=MESSAGEBOX ("Clase no registrada en sistema. Por favor ingrese un dato valido.", 0 + 16, "Error - (Clase no Registrada en Sistema)")
RETURN
Endif
Con esto, cada vez que escojo una opción del combo 1, automáticamente aparece (coincidiendo) la opción correspondiente en el combo2... El "enlace" entre combos funciona 100%! El problema que surge por esto es: Cuando agregue un valor nuevo a la lista de los combos, tendré que ir actualizando el código anterior. Por ejemplo, en este caso, tengo hasta 4 - ELECTRÓNICA. Si agregara un nuevo elemento: 5 - DIDÁCTICOS, en el código tendría que ir modificando las lineas (agregar LOCAL nValcomb5... Y todo lo demás). Como podría entonces, enlazar los combos de manera que, cada vez que agregue nuevo elementos [en los combos] no tenga que estar modificando el código.? ¿Es posible? ¿Me podría recomendar otra forma? Cada combo tiene su propio campo (clases. Numero y clases. Descripción) de tabla y sus propiedades están bien definidas. Gracias de antemano. Espero me comprendas... Te explico todo para poder plantear mejor la situación! (^_^)!
1 - papelería
2- Oficina
3- Útiles
4- Electrónica
Me pareció buena idea que el usuario, pudiese escoger ambos valores de una sola vez... Es decir que, al escoger un numero del combo 1, automáticamente "llame" o haga coincidir el combo 2 con su descripción. Ejemplo: Si elije 1 en combo el valor 1, que aparezca AUTOMÁTICAMENTE el valor que corresponde a la descripción en el comb2 "PAPELERIA" y así no tener que estar escogiendo en combo1 y 2... Sino unicamente en el combo1. Yo probé con esto, en el valid del combo1:
LOCAL nValComb1, nValComb2, nValComb3, nValComb4
nValComb1 = 1
nValComb2 = 2
nValComb3 = 3
nValComb4 = 4
IF THISFORM.Combo1.Value =>1 AND THISFORM.Combo1.Value<= 4
DO CASE
CASE THISFORM.Combo1.Value = nValComb1
THISFORM.Combo2.Value = "PAPELERIA"
CASE THISFORM.Combo1.Value = nValComb2
THISFORM.Combo2.Value = "OFICINA"
CASE THISFORM.Combo1.Value = nValComb3
THISFORM.Combo2.Value = "UTILES"
CASE THISFORM.Combo1.Value = nValComb4
THISFORM.Combo2.Value = "ELECTRONICA"
ENDCASE
ELSE
=MESSAGEBOX ("Clase no registrada en sistema. Por favor ingrese un dato valido.", 0 + 16, "Error - (Clase no Registrada en Sistema)")
RETURN
Endif
Con esto, cada vez que escojo una opción del combo 1, automáticamente aparece (coincidiendo) la opción correspondiente en el combo2... El "enlace" entre combos funciona 100%! El problema que surge por esto es: Cuando agregue un valor nuevo a la lista de los combos, tendré que ir actualizando el código anterior. Por ejemplo, en este caso, tengo hasta 4 - ELECTRÓNICA. Si agregara un nuevo elemento: 5 - DIDÁCTICOS, en el código tendría que ir modificando las lineas (agregar LOCAL nValcomb5... Y todo lo demás). Como podría entonces, enlazar los combos de manera que, cada vez que agregue nuevo elementos [en los combos] no tenga que estar modificando el código.? ¿Es posible? ¿Me podría recomendar otra forma? Cada combo tiene su propio campo (clases. Numero y clases. Descripción) de tabla y sus propiedades están bien definidas. Gracias de antemano. Espero me comprendas... Te explico todo para poder plantear mejor la situación! (^_^)!
1 respuesta
Respuesta de unysoft
1
hola mariela como estas esta observando lo de enlazar los 2 combobox pero una pregunta se puede hacer desde una tabla o con dos tablas es que lo quiero hacer para una veterinaria es que tengo un combobox para raza y otro combobox para especie quiero que cuando seleccione raza si es perro en especie diga canino - miley muñoz