Filtrar Cuadro Combinado al escribir sobre él

Me ayudan con este problemilla... Tengo un cuadro combinado el cual tiene como origen de fila el campo "Rubro" de la tabla "Rubros" ordenados alfabeticamente, hasta ahí todo bien. Lo que necesito es que al escribir una palabra sobre el cuadro combinado la busque en cualquier campo ya sea que el texto se encuentre al inicio, al final o en medio del "Rubro", por ejemplo: al escribir CISCO para buscar quisiera que me mostrara los resultados "Distribuidor CISCO", "CISCO Partner", "Servicios CISCO", todos esto lo tengo guardado en la tabla Rubros... Soy novato en Access, me disculpan si algo no expliqué bien.

Respuesta
2

No me queda claro lo que debe hacer el combinado, por eso voy a suponer que es lo que digo. Si quieres que, por ejemplo, en el combinado escribas Dis y te ponga en el origen de la fila todos los valores de rubro que tengan la cadena Dis, sea donde sea, en su evento Después de actualizar puedes poner

NombreCombo.RowSource = "select rubro from nombredelatabla where rubro like ""*""&'" & Me.nombreCombor & "'& ""*"""

Así, si escribes Dis, pulsas Enter y despliegas el combinado verás que solo te salen aquellos Rubros que tengan la cadena DIS.

Si lo que quieres es que el combinado te funciones como un "filtro" de los registros deberías poner, en el mismo evento

form.recordsource = "select * from nombredelatabla where rubro like ""*""&'" & Me.nombreCombo & "'& ""*"""

Si no fuera eso, no tengas pega en decirlo

Gracias por tu respuesta, exactamente lo que supones es lo que quiero, pero he realizado lo que me has dicho o no me ha funcionado, mi tabla se llama RUBROS y el campo se llama RUBRO, actualmente cuando escribo sobre el campo calculado me salen los resultados si el RUBRO inicia con lo que digité, pero si la palabra está al final del RUBRO no me lo muestra.

Tengo este código:

Private Sub Cuadro_combinadoRubro_AfterUpdate()

Cuadro_combinadoRubro.RowSource = "select rubro from Rubros where rubro like ""*""&'" & Me.Cuadro_combinadoRubro & "'& ""*"""

End Sub

Tengo una tabla Clientes con, entre otras cosas Pais. Si hago un combinado con origen de la fila en los paises de la tabla y escribo, por ejemplo Pa

Y pulso Enter

En este caso le he dicho

Buscar.RowSource = "select pais from clientes where pais like ""*""&'" & Me.Buscar & "'& ""*"" group by pais"

El cuadro combinado se llama Buscar

1 respuesta más de otro experto

Respuesta
1

Creo que lo que buscas es lo que explico en este ejemplo: http://neckkito.xyz/nck/index.php/ejemplos/16-controles/127-cuadros-combinados-inteligentes 

Un saludo.


Gracias, me he bajado tus ejemplos, pero en ellos cuando escribo sobre el campo combinado solamente muestra resultado si lo que está en la lista inicia con lo que estoy digitando y lo que necesito es que la lista se filtre así tenga la palabra al inicio al medio o al final, por ejemplo al escribir "insta" la lista debe acortarse a "Instalación", "Software e instalación" (estos campos ya los tengo en mi tabla "RUBROS".

Pues solo tienes que cambiarle el criterio para que filtre en cualquier posición.

En vez de (en el ejemplo):

...WHERE Editorial LIKE '" & Me.Editorial.Text & "*' ORDER BY...

tendrás que poner:

...WHERE Editorial LIKE '*" & Me.Editorial.Text & "*' ORDER BY...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas