Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Meter valores en un listbox en función de otro listbox

Estas en el tema de Meter valores en un listbox en función de otro listbox en el foro de Visual Basic clásico en Foros del Web. Hola a todos, tengo manejo en lenguajes de programación como Java o C++, pero el problema es que Visual Basic lo manejo de forma mucho ...
  #1 (permalink)  
Antiguo 20/06/2014, 04:48
 
Fecha de Ingreso: junio-2014
Mensajes: 1
Antigüedad: 9 años, 10 meses
Puntos: 0
Meter valores en un listbox en función de otro listbox

Hola a todos, tengo manejo en lenguajes de programación como Java o C++, pero el problema es que Visual Basic lo manejo de forma mucho más básica, y necesito hacer una especie de aplicación con un formulario en Access 2007 (visual basic 6), y estoy frustrado después de muchas horas de trabajo sin ningún fruto.

Mi problema es el siguiente, tengo un listbox que tiene 2 opciones, y lo que quiero hacer es que en función de la opción que escoja en el listbox se rellene otro listbox con distintos valores.

Por ejemplo, si en el primer listbox tenemos las opciones de cine o música, si cogemos cine en el primer listbox en el segundo listbox queremos que aparezca "Película 1, Película 2, etc."; pero si cogemos en el primer listbox la opción de música, queremos que aparezca en el segundo listbox "Disco 1, Disco 2, etc."

Os dejo lo que yo he hecho por si fuerais tan amables de ayudarme:

Private Sub Tipo_Click()

If Tipo.ListCount>0 Then
Tipo.RemoveItem 0
Tipo.RemoveItem 1
End If

If Tipo.Value = "Musica" Then
Tipo2.AddItem "Camela", 0
Tipo2.AddItem "Los Chunguitos", 1
Else
Tipo2.AddItem "Indiana Jones", 0
Tipo2.AddItem "Gladiator", 1
End If
End Sub

El problema con este código es que no para de añadir todo el rato instrucciones si el usuario le da por pinchar más de una vez en la selección, intuyo que lo del listcount no me está contando bien, pero es que también he querido utilizar instrucciones para limpiar como por ejemplo Tipo.Clear y tampoco me hace nada. Quién me ayude a resolver esto la verdad que le pongo una estatua donde él me diga como homenaje.

Muchas gracias por todo, un saludo.
  #2 (permalink)  
Antiguo 22/06/2014, 08:50
JBB
 
Fecha de Ingreso: junio-2014
Mensajes: 2
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Meter valores en un listbox en función de otro listbox

Hola lo tienes fácil pero sera mas difícil lo de la estatua

Haz esta prueba y veras que lo tienes resuelto.
Crea un formulario nuevo y pegas este código y lo pruebas.

Option Explicit
Dim Qid As Integer

Private Sub Form_Load()
Qid = -1 ' Le ponemos -1 para que no lo reconozca al iniciarse o te daría error, ya que el primer valor del listbox es el 0
End Sub

Private Sub List1_Click()
If List1.ListIndex = Qid Then Exit Sub ' Esto bloquea que se pique varias veces seguidas
''''''''''''
'' Aquí dentro lo que tiene que hacer, osease, la orden a ejecutar.
''''''''''''
Qid = List1.ListIndex ' Aqui guarda el Item picado
MsgBox Qid
End Sub

Qid recoge el item seleccionado, de manera que si se repite mas veces el mismo, lo bloquea.

Ya me pensare donde quiero la estatua

Última edición por JBB; 22/06/2014 a las 09:15

Etiquetas: formulario, listbox, meter, programa, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:22.