Visual Basic - Ayuda con vinculación entre ComboBox1, 2 y 3

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Ayuda con vinculación entre ComboBox1, 2 y 3

Publicado por Victor (2 intervenciones) el 19/09/2017 19:15:11
Estimados:
Estoy intentanto realizar una relación entre ComboBox dependientes entre si. Lo que quiero ordenarle al programa es:

- Si ComboBox1 dice "Carga", entonces dame un menú desplegable en ComboBox2 con las opciones "B", "C", "D" y "E" (esto lo realicé sin problemas).
- Si en ComboBox1 dice "Carga" y ademas en ComboBox2 dice "B"; Entonces en el ComboBox3 arrojame un menú desplegable con la opción "Diámetro 3"
- Si en ComboBox1 dice "Carga" y ademas en ComboBox2 dice "C"; Entonces en el ComboBox3 arrojame las opciones "Diámetro 4" y "Diámetro 5"
- Si en ComboBox1 dice "Carga" y ademas en ComboBox2 dice "D"; Entonces en el ComboBox3 arrojame las opciones "Diámetro 6" y "Diámetro 7"
Etc....

Para lograr esto probé (la verdad, inventé sin saber) lo siguiente:

Private Sub ComboBox2_Change()
Select Case ComboBox2.Text
Case ComboBox1.Text = "Carga" & ComboBox2.Text = "B"
ComboBox3.Clear
ComboBox3.AddItem "Diámetro 3"

Case ComboBox1.Text = "Carga" & ComboBox2.Text = "C"
ComboBox3.Clear
ComboBox3.AddItem "Diámetro 4"
ComboBox3.AddItem "Diámetro 5"

Case ComboBox1.Text = "Carga" & ComboBox2.Text = "D"
ComboBox3.Clear
ComboBox3.AddItem "Diámetro 6"
ComboBox3.AddItem "Diámetro 7"

End Select


Sin embargo, no me resulta... si alguien pudiese ayudarme, por favor en lenguaje sencillo se lo agradecería un montón, ya que me encuentro recién comenzando en este mundo del VB.

Un cordial saludo...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ayuda con vinculación entre ComboBox1, 2 y 3

Publicado por Andres Leonardo (1798 intervenciones) el 20/09/2017 00:14:24
Pues no es lo recomendable... Puesto que esto deberia estar en una base de datos .. con una tabla relacionada

pero si lo haces en codigo no es con case a menos que hagas los valores letras los hagas numericos..... para que uses los case ....

En un nuevo proyecto coloca tres combo box y pega esto , repito esto no es lo correcto ya que si debes agregar debes cambiar el .exe NO ES LO OPTIMO pero a nivel didactico para que encuentres maneras de realizar esto se hace


**He utilizado como un codigo de Padre y luego lo sumo mas el caracter Ascci podria poner tambien un codigo en centenas para saber los niveles ... pero ya me dio pereza hacerlo asi ... ya con el ejemplo dle primero lo podrias hacer tu mismo.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Private Sub Combo1_Click()
    Select Case Combo1.Text
        Case "Carga"
            Combo2.Clear
            Combo2.AddItem "B"
            Combo2.AddItem "C"
            Combo2.AddItem "D"
            Combo2.AddItem "E"
        Case "DesCarga"
            Combo2.Clear
            Combo2.AddItem "F"
            Combo2.AddItem "G"
    End Select
End Sub
Private Sub Combo2_Click()
X = Combo1.ItemData(Combo1.ListIndex) + Asc(Combo2.Text)  ' Aqui sumo el valor del primero mas el valor Ascci del segundo por ser letra
    Select Case X
        Case 1066
            Combo3.Clear
            Combo3.AddItem "Diametro3"
 
        Case 1067
            Combo3.Clear
            Combo3.AddItem "Diametro4"
            Combo3.AddItem "Diametro5"
        Case 1068
            Combo3.Clear
            Combo3.AddItem "Diametro6"
            Combo3.AddItem "Diametro7"
        Case 2070
            Combo3.Clear
            Combo3.AddItem "DiametroX"
            Combo3.AddItem "DiametroY"
    End Select
End Sub
Private Sub Form_Load()
Combo1.AddItem "Carga"
Combo1.ItemData(Combo1.NewIndex) = 1000
Combo1.AddItem "DesCarga"
Combo1.ItemData(Combo1.NewIndex) = 2000
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar