Autocompletar

Hola, tengo el siguiente problema:
Necesito que al ir poniendo en un cuadro combinado el apellido de un cliente, este
vaya mostrando todas las similitudes que encuentre.
Por ejemplo, si ingresa A muestre Alarcón, Andrade, Antunez
Si sigue ingresando después la L, muestre
solo Alarcón.
Trabajo con access 97
Ayudame, gracias

1 respuesta

Respuesta
1
Uh. Bueno, vale... ;-)
Pon el combo, sacale las propiedades, en la pestaña de datos le dices que está basado en tabla/consulta, le dejas en blanco el origen, le indicas que no limite a la lista.
Te pasas a la pestaña de eventos, en el de 'Al cambiar' te pones en el campo, le das a los puntos suspensivos.
Tecleas algo así como lo siguiente pero adaptado a tu base de datos
Dim t$
t = Me.campoFormulario.Text
If t > "" And Me.campoFormulario.SelStart = 0 And Me.campoFormulario.SelLength = Len(t) Then
Exit Sub ' Seleccion en el combo
End If
If Me.campoFormulario.SelStart > 0 Then t = Left(t, Me.campoFormulario.SelStart)
If Len(t) > 3 Then
Me.campoFormulario.RowSource = "select elCampo from laTabla where elCampo like '" & UCase(t) & "*'"
Me.campoFormulario.Dropdown
Else
Me.campoFormulario.RowSource = ""
End If
Sustituye donde pongo
CampoFormulario: Cómo se llama el combo del formulario
laTabla: Tabla que contiene los nombres
elCampo: Campo de laTabla con los nombres
Una vez hecho, a probar.
Fíjate que tiene una limitación para que sólo se active a partir de tres caracteres del nombre introducidos, esto es así porque trabajo con unos 300.000 nombres y si no pongo esto devuelve demasiados al indicar una sola letra, y se hace lento. Ajústalo a tu gusto.
Venga, suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas