Hola Experto ... Agradezco tu atención.. ! Tengo un control Combo box y en el quiero que al escribir una palabra, este me ayude a autocompletar la palabra realizando una búsqueda sobre un campo de una tabla. Como lo hago..¿? Te agradezco..
1 respuesta
Respuesta de blabre
1
1
blabre, Trabajo en enseñanza de matemática y programación hace muchos años
Para hacer lo que deseas podes seguir estos pasos: 1) Poner el combo con la propiedad Style en 0 2) En el evento KeyPress del combo escribís este código. Dim CB As Long Dim FindString As String If cbNomProv.SelLength = 0 Then FindString = combo1.Text & Chr$(KeyAscii) Else FindString = Left$(combo1.Text, combo1.SelStart) & Chr$(KeyAscii) End If CB = BuscarValor(FindString) If CB <> -1 Then Combo1.ListIndex = CB Combo1.SelStart = Len(FindString) Combo1.SelLength = Len(combo1.Text) ? combo1.SelStart End If KeyAscii = 0 End Sub Si querés buscar sobre un campo de un recordset utilizá el método find y el valor que deseás encontrar. Espero que estos datos te sean de utilidad y no olvides cerrar la pregunta. Hasta pronto ? Donde BUSCARVALOR es una función que busca el valor, por ejemplo, en la lista de datos del mismo combo Function BuscarValor(fs As String) As Long Dim pri As String, L As Integer, i As Integer, encontrado As Boolean L = Len(fs) encontrado = False i = 0 While i < combo1.ListCount And Not encontrado If fs = Left(combo1.List(i), L) Then encontrado = True BuscarValor = i Else i = i + 1 End If Wend If Not encontrado Then BuscarValor = -1 End Function
Hola Experto ... Gracias por esta tabla de ayuda... lo que pasa es que soy bien novato en esto.. Pero la situación es que necesito buscar un campo de un recordset... y no se como implementar el método find... me puedes ayudar con esto..¿? Muchas Gracias.. de verdad.. muchas gracias.. Atm groval
Suponiendo que rs es tu recordset, tienes que escribir: rs.find "NombreDelCampo = 'Valor'" Ejemplos de find: rs.find "Apellido = 'Perez'" Rs. Find "Precio > 100" Luego utilizas la función EOF para detectar si encontraste el valor buscado: if not rs.eof then 'escribir todas las acciones end if