¿Elementos Repetidos de Listbox en Visual Basic 6.0?
Tengo un formulario en VB 6.0 en el cual tengo 6 Listbox a los que les agrego datos de un control DataCombo al presionar la tecla Entrar, lo que quiero hacer es que agregue el Item pero si ya existe que me lo reemplace. Pero el detalle es que uno de esos Llistbox tiene que ir sumando las veces que ya ha sido agregado, mi Formulario es un pequeño sistema de artículos para ventas, es decir... Si un articulo ya a sido tecleado 5 veces no quiero que lo repita esa cantidad de veces en la lista, si no que en el listbox de cantidad aparezca el numero 5, tengo un código con el cual he trabajado y si me remplaza los elementos repetidos pero no se como hacerle para que cambie el numero en el Listbox de Cantidad. Gracias.
Private Sub dtc_codigodebarras_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
lst_codigodebarras.AddItem (dtc_codigodebarras)
lst_codigodebarras.ListIndex = lst_codigodebarras.ListCount - 1
lst_articulos.AddItem (dtc_articulo)
lst_articulos.ListIndex = lst_articulos.ListCount - 1
lst_importe.AddItem (txt_importe.Text)
lst_importe.ListIndex = lst_importe.ListCount - 1
lst_cantidad.AddItem ("1")
lst_cantidad.ListIndex = lst_cantidad.ListCount - 1
lst_subtotal.AddItem Val(lst_importe.Text) * Val(lst_cantidad.Text)
lst_subtotal.ListIndex = lst_subtotal.ListCount - 1
Dim Cambio As Boolean, X As Integer, Y As Integer
Cambio = True 'Hace que lo de abajo se ejecute
Do While Cambio = True
Cambio = False
For Y = 0 To (lst_codigodebarras.ListCount - 1)
For X = Y + 1 To (lst_codigodebarras.ListCount - 1)
If lst_codigodebarras.List(X) = lst_codigodebarras.List(Y) Then
txt_cantidad.Text = Val(lst_cantidad.Text)
lst_codigodebarras.RemoveItem (Y)
lst_codigodebarras.ListIndex = lst_codigodebarras.ListCount - 1
lst_articulos.RemoveItem (Y)
lst_articulos.ListIndex = lst_articulos.ListCount - 1
lst_importe.RemoveItem (Y)
lst_importe.ListIndex = lst_importe.ListCount - 1
lst_cantidad.RemoveItem (Y)
lst_cantidad.ListIndex = lst_cantidad.ListCount - 1
lst_subtotal.RemoveItem (Y)
lst_subtotal.ListIndex = lst_cantidad.ListCount - 1
Cambio = True
End If
Next X
Next Y
Loop
End If
End Sub
Private Sub dtc_codigodebarras_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
lst_codigodebarras.AddItem (dtc_codigodebarras)
lst_codigodebarras.ListIndex = lst_codigodebarras.ListCount - 1
lst_articulos.AddItem (dtc_articulo)
lst_articulos.ListIndex = lst_articulos.ListCount - 1
lst_importe.AddItem (txt_importe.Text)
lst_importe.ListIndex = lst_importe.ListCount - 1
lst_cantidad.AddItem ("1")
lst_cantidad.ListIndex = lst_cantidad.ListCount - 1
lst_subtotal.AddItem Val(lst_importe.Text) * Val(lst_cantidad.Text)
lst_subtotal.ListIndex = lst_subtotal.ListCount - 1
Dim Cambio As Boolean, X As Integer, Y As Integer
Cambio = True 'Hace que lo de abajo se ejecute
Do While Cambio = True
Cambio = False
For Y = 0 To (lst_codigodebarras.ListCount - 1)
For X = Y + 1 To (lst_codigodebarras.ListCount - 1)
If lst_codigodebarras.List(X) = lst_codigodebarras.List(Y) Then
txt_cantidad.Text = Val(lst_cantidad.Text)
lst_codigodebarras.RemoveItem (Y)
lst_codigodebarras.ListIndex = lst_codigodebarras.ListCount - 1
lst_articulos.RemoveItem (Y)
lst_articulos.ListIndex = lst_articulos.ListCount - 1
lst_importe.RemoveItem (Y)
lst_importe.ListIndex = lst_importe.ListCount - 1
lst_cantidad.RemoveItem (Y)
lst_cantidad.ListIndex = lst_cantidad.ListCount - 1
lst_subtotal.RemoveItem (Y)
lst_subtotal.ListIndex = lst_cantidad.ListCount - 1
Cambio = True
End If
Next X
Next Y
Loop
End If
End Sub
1 Respuesta
Respuesta de Roberto Alvarado
1