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

Pasar datos de un listBox a otro ListBox VB6

Estas en el tema de Pasar datos de un listBox a otro ListBox VB6 en el foro de Visual Basic clásico en Foros del Web. Hola a todos, envio este mensaje puesto tengo una duda con respecto a como pasar registros o elementos de una lista (ListBox) a otra. Esto ...
  #1 (permalink)  
Antiguo 04/11/2010, 14:49
Avatar de optimus100  
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Pasar datos de un listBox a otro ListBox VB6

Hola a todos, envio este mensaje puesto tengo una duda con respecto a como pasar registros o elementos de una lista (ListBox) a otra.
Esto es si lista1 se llena de datos. Ahora por medio de botones que tienen los siguientes dibujos:
>> //Pasar todos los elementos de lista1 a lista2
> //Pasa los elementos seleccionados de la lista1 a la lista2
<< //Pasa todos los elementos de la lista2 a la lista1
< // Pasa los elementos seleccionados de la lista2 a la lista1

Como se puede observar lo que quiero hacer es muy parecido a lo que muchas aplicaciones pueden hacer.

El problema que tengo es en cuanto a pasar los datos que se seleccionan de una lista a otra. (El de todos ya me quedo ). Este es el codigo que estoy utizando para realizar dicha tarea:
Código:
            If lstExcel.ListCount <> 0 Then
            
               For j = 0 To lstExcel.ListCount - 1
                    If lstExcel.Selected(j) = True Then
                        
                        lstClientesReg.AddItem lstExcel.List(j)
                        lstExcel.RemoveItem j
                        
                    End If
               Next               
            Else
            MsgBox "No hay elementos a cargar", vbInformation
            End If
El problema es cuando selecciono uno de los primeros elementos de mi lista1 (que viene siendo=> lstExcel) me marca un error de:

Error 381. El indice de la matriz de propiedades no es valido

Y ese mismo error se presenta si selecciono mas de un elemento de la lista1 y quiero pasarlo a la lista2. Alguien me podria decir como solucionar esta situación
  #2 (permalink)  
Antiguo 04/11/2010, 15:45
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Pasar datos de un listBox a otro ListBox VB6

Ese problema suele darse cuando haces removeitem en un bucle empezando desde 0.

Prueba a cambiar la línea del for por esta:

For j = lstExcel.ListCount - 1 To 0 Step -1

Ya nos contarás...
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 04/11/2010, 16:32
Avatar de optimus100  
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Pasar datos de un listBox a otro ListBox VB6

Muchas gracias PKJ con ese cambio ya funciona. (Nunca me ubiera imaginado que fuera tan sencillo XD )
  #4 (permalink)  
Antiguo 04/11/2010, 16:46
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Pasar datos de un listBox a otro ListBox VB6

Lo hubieras acabado encontrando, todos lo hemos hecho
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Etiquetas: listbox, pasar, vb
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 17:54.