Resumen Búsqueda incremental en DbCombo, DbGrid, DataGrid.

Mensaje enviado por "dezalot" <dezalot@tucbbs.com.ar>

Te mando este ejemplo donde hago en forma simple y efectiva lo que quieres hacer, toma de allí y haz las modificaciones para adaptar a tu caso especifico. Es la búsqueda dentro de un DBCombo y la voy ubicando con un TextBox

Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim cTexto1 As String
KeyAscii = Asc(UCase(Chr(KeyAscii)))
cTexto1 = Text1.Text & Chr(KeyAscii)
Data1.Recordset.FindFirst ("ucase(mid(NombreCampo,1," & Len(cTexto1) & ")) = '" & cTexto1 & "'")
If Data1.Recordset.NoMatch Then
    KeyAscii = 0
End If
End Sub

Esto ejemplo es igual para un dbgrid, datagrid. A esta función le puedes agregar tambien, retener el Bookmark, antes de iniciar la búsqueda (Find) y si da negativo posicionarlo nuevamente en el registro marcado.

La versión para un ComboBox, seria:

Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim cTexto1 As String
Dim x as Integer
KeyAscii = Asc(UCase(Chr(KeyAscii)))
cTexto1 = Text1.Text & Chr(KeyAscii)
For x = 1 to len(Combo1.ListCount)
    if UCase(Mid(Combo1.list(x),1," & Len(cTexto1) & ")) = cTexto1 then
            KeyAscii = 0
        Exit For
Next x
End Sub

Saludos
Dante Dezalot
Tucumán - Argentina



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com