El Flex lo lleno mediante una variable de tipo Recordset, la cual lleno de la siguiente manera:
Código:
Set RsTempo = Base.OpenRecordset("SELECT * FROM Productos ORDER BY NomProd", dbOpenDynaset)
With RsTempo
Do While Not .EOF
Flex2.AddItem Chr(9) & !IdProd & _
Chr(9) & !NomProd & " " & _
!PresentProd & _
Chr(9) & Format(!PrecioProd, "##,##0.00") & _
Chr(9) & Format(!PrecioPieza, "##,##0.00") & _
Chr(9) & Format(!PrecioDiez, "##,##0.00") & _
Chr(9) & Format(!PrecioCaja, "##,##0.00")
.MoveNext
Loop
End With
y la búsqueda la hacia de la siguiente manera (el código siguiente está en el CHANGE del TEXT):
Código:
Busqueda = UCase(Trim(txtBusqueda))
With Flex2
For Y = 1 To .Rows - 1
If Mid(.TextMatrix(Y, 2), 1, Len(Busqueda)) = UCase(Busqueda) Then
.SetFocus
.Row = Y
.Col = 2
SendKeys "{UP}"
SendKeys "{DOWN}"
exit for
End If
Next Y
End With
txtBusqueda.SetFocus
pero ni me regresa el foco al TEXT, ni me muestra la fila que contiene el dato buscado en el FLEX (si la fila con el dato es la 1000 y el flex muestra el inicio de las filas (1,2,3, etc), ahi se queda, en vez de irse a la fila 1000)
qué hago???