Combobox en Access búsqueda por coincidencia

Tengo un combobox el cual esta ligado a una tabla de aprox. 1000 medicamentos al momento de buscar un medicamento si conozco como inicia el texto me lo despliega ejemplo "Paracetamol presentación tabletas 500mg " si tecleo "Parace" me predice el texto completo, Pero si la palabra Paracetamol tuviera otra palabra antes no me lo despliega por ejemplo si dice "Capsulas de Paracetamol" tendría que escribir " Capsula" habrá alguna manera de hacer una búsqueda. Lo que pude lograr es crear un formulario en el cual tengo 2 Texbox en la programación le indico que primer texbox es donde buscar, en el segundo tecleo el nombre del medicamento y en el tercero que es un combobox me despliega la coincidencias, ya localizando el medicamento me regreso y al formulario y tecleo como empieza el nombre. Para que me despliegue lo que busco.

Lo ideal seria que en este yo lo marcara y al dar un click me lo pegara en el campo en el campo que lo requiero en el combobox.

Espero me haya expllicado

Private Sub txtbusca_AfterUpdate()
Dim consulta As String
If Not IsNull(Me.cmbcampo) Then
consulta = "SELECT MEDICAMENTOS"
consulta = consulta & " From MEDICAMENTOS"
consulta = consulta & " WHERE " & Me.cmbcampo & " Like '*" & Me.txtbusca & "*'"
Me.Listado.RowSource = consulta
End If
End Sub

Respuesta
1

No necesitas cuadro de texto ni nada. Puedes hacerlo de muchas formas. Por ejemplo, tengo el formulario Ventas con un combinado ElegirOtro. Si en el combinado escribo una a, me muestra todos los productos que tengan una a en su nombre(no te fijes en que además limita también los registros del formulario a los productos que tengan esa a)

Cuando escribo la a

Si ahora le añado una t

Imagínate lo fácil que es si le pones, por ejemplo Par

El combinado no tiene origen de la fila, se lo doy en código, en el evento Al cambiar

Private Sub ElegirOtro_Change()
ElegirOtro.RowSource = "select producto from productos where producto like '*" & Me.ElegirOtro.Text & "*'"
Me.RecordSource = "select * from ventas where producto like '*" & Me.ElegirOtro.Text & "*'"
End Sub

En este otro ejemplo, el combinado tampoco tiene origen de la fila, en este caso van a ser los países

Escribo ra y pulso Enter y al desplegar el combinado

Sólo me muestra los países que tiene esa cadena en el nombre, aunque se llamara ciudad y samba de Brasil.

En este caso, el código del evento Después de actualizar, aunque te aconsejaría el anterior, es

Private Sub Elegir_AfterUpdate()
Elegir.RowSource = "select pais from clientes where pais like ""*""&'" & Me.Elegir & "' & ""*"" group by pais"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas