** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Cuadro combinado que busca uno o todos
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCuadro combinado que busca uno o todos

 Responder Responder
Autor
Mensaje
valejos Ver desplegable
Habitual
Habitual


Unido: 02/Agosto/2014
Localización: Nicaragua
Estado: Sin conexión
Puntos: 106
Enlace directo a este mensaje Tema: Cuadro combinado que busca uno o todos
    Enviado: 12/Abril/2015 a las 18:39
Buenos días, acudo a la ayudo de los expertos, quisiera saber como puedo hacer para que en un cuadro combinado busque el dato elegido y la opción de todos.
Gracias de antemano
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 12/Abril/2015 a las 19:10
Una consulta de unión permitiría añadir datos que no figuran en el origen actual (por ejemplo la opción 'TODOS').

Lo que podría acortar el tiempo necesario para un buen resultado, seria conocer como se efectúa (actualmente y sin 'el todos') la aplicación de ese filtro (también se podría dar un paseo por el foro, pues ha salido en varias ocasiones).

La forma mas sencilla suele ser el aplicar o no el filtro en función de la selección, esto es, si se selecciona 'todos' no se aplica filtro (Me.FilterOn = False) y para cualquiera otra selección si (Me.FilterOn = True) y ello si se utiliza un formulario para filtrar.
Arriba
valejos Ver desplegable
Habitual
Habitual


Unido: 02/Agosto/2014
Localización: Nicaragua
Estado: Sin conexión
Puntos: 106
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 05:58
Ok, voy a tratar luego comento.

Arriba
valejos Ver desplegable
Habitual
Habitual


Unido: 02/Agosto/2014
Localización: Nicaragua
Estado: Sin conexión
Puntos: 106
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 18:32
Buenos días he realizado lo siguiente:
en el cuadro combiando: SELECT DISTINCT Circulo.NombreCirculo FROM Circulo UNION SELECT "*" FROM Circulo;
y en criterio de la consulta: SiInm(EsNulo([Formularios]![F_Comando_Informe]![CeboBusca]),"*",[Formularios]![F_Comando_Informe]![CeboBusca])

También después de actualizar le di al combo un Requery 

El me filtra por selección de nombre pero al utilizar el asterisco no me devuelve todo el registro.

Me podrían apoyar en identificar mi error? Gracias



Editado por valejos - 13/Abril/2015 a las 18:36
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 18:42
Independiente de que sea la opción adecuada (hay poca información), no veo claro que se valide un NULL, cuando el valor seleccionado es (al menos supuestamente) el asterisco.
Arriba
valejos Ver desplegable
Habitual
Habitual


Unido: 02/Agosto/2014
Localización: Nicaragua
Estado: Sin conexión
Puntos: 106
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 18:47
Lo he probado de todas maneras y no lo he resuelto, esto ha sido lo último a que he llegado.
El filtra por selección de nombre, pero cuando pongo el asterisco como un criterio para que me devuelva todo los valores no lo hace. Aquí es donde ya me he estancado.

Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 22:12
Aun no has apreciado lo que indicaba en mi comentario ....

Esa condición no tiene mucho sentido, seleccionado un valor en el combo, NUNCA SERA UN NULL porque al seleccionar un valor lo mas 'vacío' que se podría obtener es una cadena vacía (y eso NO ES un NULL), un nulo solo se obtendría si no hubiera un ítem seleccionado.

En base a lo anterior, sin adjuntar condición alguna se obtendría el mismo resultado (el valor de/en el combo, que si fuera el caso, seria un asterisco).

Actualmente se esta imponiendo una condición en la consulta que da lugar al origen de datos y tras ello se ejecuta para obtener el resultado, si en lugar de ello se generase esa consulta de forma dinámica, un simple IF (y como condición que el valor en el combo fuera un asterisco) haría todo mas simple, un ejemplo:

MiCOnsulta = "Select xxx, yyy, zzz From UnaTabla"
IF valor_en_el_combo <> "*" Then
MiConsulta = MiConsulta & " Where El_Campo_Que_Sea = " & Me.CeboBusca
'Si el valor fuera un texto....
'MiConsulta = MiConsulta & " Where El_Campo_Que_Sea = '" & Me.CeboBusca & "'"
End If


Si se sigue la línea lógica, se apreciara que la condición solo se añade cuando el valor en el combo es diferente del asterisco y sin condiciones saldrían todos los registros.

Aun esto es mas fácil de hacer, el esquema a aplicar consistiría en tener en el formulario TODOS los registros y a la hora de seleccionar un valor en el combo, a ese formulario se le pone la condición (se utiliza el filtro del formulario):

Me.Filter = "El_Campo_Que_Sea = " & Me.CeboBusca
'el filtro siempre se carga con el valor de/en el combo
Me.FilterOn = Me.CeboBusca <> "*"


¿Qué el formulario a filtrar no es el formulario activo, es otro? ... pues se le indica de forma expresa:

Forms.[el formulario que sea].Filter = "El_Campo_Que_Sea = " & Me.CeboBusca
Forms.[el formulario que sea].FilterOn = Me.CeboBusca <> "*"
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5419
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 22:46
Hola a todos, buenas noches.

Este enlace que pego a continuación es para estudiar si es válido para el cometido de este hilo:

clickar aquí para ver el enlace

Ya nos cuentas.

Saludos

Editado por VIMIPAS - 14/Abril/2015 a las 00:43
Gracias
Arriba
gdelucchi Ver desplegable
Administrador
Administrador
Avatar

Unido: 14/Febrero/2005
Localización: Argentina
Estado: Sin conexión
Puntos: 6818
Enlace directo a este mensaje Enviado: 13/Abril/2015 a las 23:02
Quizás te pueda servir filtrar por un campo de texto independiente que te dé resultados de acuerdo a lo escribas en él: sólo deberías filtrar la consulta con ese campo independiente. Algo así como: Como "*" & [forms]![Formulario1]![FiltroCampoTexto] & "*"
Saludos - Tavo
Arriba
valejos Ver desplegable
Habitual
Habitual


Unido: 02/Agosto/2014
Localización: Nicaragua
Estado: Sin conexión
Puntos: 106
Enlace directo a este mensaje Enviado: 14/Abril/2015 a las 06:06
Gracias gdelucchi, me salvaste, gracias a todos, sólo apliqué tu consejo al criterio de la consulta en el campo que deseaba filtrar: 
Como "*" & [Formularios]![F_Comando_Informe]![CeboBusca] & "*"
Y al origen de la fila del cuadro combinado: 
SELECT Circulo.NombreCirculo FROM Circulo;UNION SELECT "*" FROM  Circulo;
Ahora ya me filtra y me devuelve todo los registros.
Gracias fue tan simple con tu ayuda.

Gracias E. Feijoo tu propuesta la estudiaré, gracias de todas maneras
Cierren el hilo.
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 14/Abril/2015 a las 10:36
Utilizar el 'Como' (Like) es ambiguo con respecto a la pretensión original que era la igualdad.

No es lo mismo obtener todos los campos que en alguna parte contengan 'Ant' (Antonio, Anterior, Pantalla ....), esto es [Como '*Ant*'] que obtener a aquellos que específicamente tengan 'Ant' [= 'Ant'].

Quede claro lo anterior cara a posteriores consultas, de forma independiente a que al iniciador del hilo le baste con la ambigüedad que propociona 'Like <==> Como'.
Arriba
valejos Ver desplegable
Habitual
Habitual


Unido: 02/Agosto/2014
Localización: Nicaragua
Estado: Sin conexión
Puntos: 106
Enlace directo a este mensaje Enviado: 14/Abril/2015 a las 17:41
Quiza el inconnveniente es la falta de explicion apropiada de parte mia,yo me valgo del foro para apoyo ante la falta de conocimiento por ser Yo, un aficionado mas que un experimentado. Gracias tu explicacion la estudiare para aprender mas
Saludos

Editado por valejos - 14/Abril/2015 a las 17:43
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable