Llenado de Listbox mediante una consulta presenta inconsistencia en un campo

Tengo un problema en una consulta que por más que he buscado no he podido dar con la solución.

En un formulario con un textbox de búsqueda, el resultado se presenta en un listbox con varias columnas, en una de ellas se refiere a cantidad. Este dato debe tener formato de numero, con 2 decimales ejemplo( 24,321.18) tal y como esta en la Hoja1 de excel.

El problema es que en cuando se muestra el dato en el Listbox lugar de poner punto (.) Pone una coma (,) ejemplo (24321,18), este resultado me genera un problema ya que ese dato al mostrarlo en un textbox me da como resultado (2,432,118.00) y debe mostrar (24.321.18).

Este dato en otras consultas no presenta problemas, es unicamente cuando se hace la búsqueda.

Agradeceré muchísimo alguien me pueda aportar una solución. Saludos cordiales.

1 Respuesta

Respuesta
1

[Hola 

Prueba con esto

ListBox1. List(ListBox1.ListCount - 1, 4) = FormatNumber(TextBox6, 2)

Hola buenos días amigo, gracias por su respuesta. Aun persiste el detalle.

Este es el código que tengo:

Código en la búsqueda:

Private Sub cmdbuscar_Click()
On Error Resume Next
    If Me.TXT1.Value = Empty Then
        MsgBox "Escriba dato para buscar"
        Me.ListBox1.Clear
        Me.TXT1.SetFocus
        Exit Sub
    End If
Me.ListBox1.Clear
items = Range("Nombres").CurrentRegion.Rows.Count
    For i = 2 To items
        If LCase(Cells(i, 1).Value) Like "*" & LCase(Me.TXT1.Value) & "*" Then
            Me.ListBox1.AddItem Cells(i, 1)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 2)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, 3)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, 4)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, 5)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, 6)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(i, 7)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(i, 8)
    End If
    Next i
        Me.TXT1.SetFocus
        Me.TXT1.SelStart = 0
        Me.TXT1.SelLength = Len(Me.TXT1.Text)
    Exit Sub

End Sub

codigo en Listbox1:

Private Sub ListBox1_Click()
On Error Resume Next
    TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 0)
    TextBox5.Text = ListBox1.List(ListBox1.ListIndex, 1)
    TextBox6.Text = ListBox1.List(ListBox1.ListIndex, 2)
    TextBox7.Text = ListBox1.List(ListBox1.ListIndex, 3)
    TextBox16.Text = ListBox1.List(ListBox1.ListIndex, 4)
 Select Case ListBox1.List(ListBox1.ListIndex, 5)
        Case "001"
            TextBox8.Text = "OAXACA"
        Case "002"
            TextBox8.Text = "PUTLA"
        Case "006"
            TextBox8.Text = "MIAHUATLAN"
        End Select
    TextBox9.Text = ListBox1.List(ListBox1.ListIndex, 6)
    TextBox10.Text = ListBox1.List(ListBox1.ListIndex, 7)
 End Sub

codigo del Textbox16 (importe)

Private Sub TextBox16_Change()
On Error Resume Next
    'TextBox16 = Format(TextBox16, "#,###.00")
    'TextBox16.Value = FormatNumber(TextBox16.Value, 2)
    ListBox1.List(ListBox1.ListCount - 1, 4) = FormatNumber(TextBox16, 2)
End Sub

[Hola

prueba esto 

Private Sub ListBox1_Click()
On Error Resume Next
    TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 0)
    TextBox5.Text = ListBox1.List(ListBox1.ListIndex, 1)
    TextBox6.Text = ListBox1.List(ListBox1.ListIndex, 2)
    TextBox7.Text = ListBox1.List(ListBox1.ListIndex, 3)
    '
    num = Replace(ListBox1.List(ListBox1.ListIndex, 4), ",", ".")
    TextBox16 = Format(num, "#,###,###.00")
    '
 Select Case ListBox1.List(ListBox1.ListIndex, 5)
        Case "001"
            TextBox8.Text = "OAXACA"
        Case "002"
            TextBox8.Text = "PUTLA"
        Case "006"
            TextBox8.Text = "MIAHUATLAN"
        End Select
    TextBox9.Text = ListBox1.List(ListBox1.ListIndex, 6)
    TextBox10.Text = ListBox1.List(ListBox1.ListIndex, 7)
 End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas