Como regresar datos a textbox de un listbox

Para Dante Amor

Hola, de nuevo recurriendo a tu sabiduría.

Sigo teniendo problemas con los textbox :(, tengo un código que me agrega de muchoss textbox a un solo listbox y es el código que me corregiste en la pregunta anterior, ya no tuve problema con ese, pero ahora tengo un botón que llamo eliminar y ese me elimina seleccioando el listbox y el codigo es el siguiente:

On Error GoTo Errores

Me.ListBox1.RemoveItem (ListBox1.ListIndex)
Me.ListBox1.ListIndex = -1
For i = 0 To Me.ListBox1.ListCount - 1
Next
Me.txt1.SetFocus

Errores:

MsgBox "Debe seleccionar un Item"

Lo que quisiera hacer es que no se eliminen solo que al oprimir el botón se regresen a los textbox de donde se agregaron al listbox.

1 respuesta

Respuesta
2

H o l a:

Si cargaste los datos al listbox con Additem entonces puedes utilizar RemoveItem, pero si los cargaste con RowSource o List, entonce lo que tienes que hacer es borrar todo el listbox y volver a cargar.

Si estás en el primer caso, entonces, así quedaría la macro:

Private Sub CommandButton2_Click()
'Por.Dante Amor
    'Remover Item del listbox
    'Primero validar
    If ListBox1.ListIndex = -1 Then
        MsgBox "Debe seleccionar un Item", vbExclamation
        Exit Sub
    End If
    '
    'Antes de borrar pasar los datos a los textbox
    TextBox5 = ListBox1.List(ListBox1.ListIndex, 0)
    TextBox6 = ListBox1.List(ListBox1.ListIndex, 1)
    TextBox7 = ListBox1.List(ListBox1.ListIndex, 2)
    TextBox8 = ListBox1.List(ListBox1.ListIndex, 3)
    '
    'Después borrar
    ListBox1.RemoveItem (ListBox1.ListIndex)
    MsgBox "Item removido", vbInformation
End Sub

Nota: Los textbox y las posiciones del listbox que puse son un ejemplo, deberás poner los dato reales de tu formulario.


Recomendaciones:

  • Procura no utilizar las instrucciones "On Error Goto" u "On Error Resume Next", lo que te recomiendo, es que controles los errores utilizando validaciones; cuando utilizas las instrucciones "On Error", en tu ejemplo, estás esperando que el error sea porque no seleccionaron un ITEM, pero puede ocurrir algún otro tipo de error y siempre te va a enviar a ":Errores", para saber cuál fue el error, hay que quitar la instrucción "On Error" y debuguear el programa.
  • Veo que a veces utilizas "Me." Es necesario utilizar"Me." cuando tienes varios formularios abiertos y tienes que especificar a cuál formulario te refieres, utilizas "Me." para establecer que es el formulario activo; pero si solamente tienes un formulario abierto, entonces no es necesario que lo pongas.

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas