Access - Consulta comando SInm

 
Vista:
Imágen de perfil de Toni Parisi

Consulta comando SInm

Publicado por Toni Parisi (6 intervenciones) el 28/03/2017 18:32:42
Tengo una consulta a la que llamo a través de una selección de 6 cuadros combinados de un formulario.
La consulta, además de los campos que he dicho tambien tiene un par de campos más para complementar la información.
En la fila Criterios de cada uno de esos 6 campos que llamo desde el formulario he puesto lo siguiente:Como SiInm(EsNulo([Formularios]![FormFiltroAvisos]![CategoriaAvisos]);"*";"Formularios]![FormFiltroAvisos]![CategoriaAvisos]")

Evidentemente el nombre del campo varia en cada campo.

La cuestión es que si dejo alguno de esos campos vacíos en el formulario no me devuelve ningún valor en la consulta.
La idea es llamar a la consulta en función de la información seleccionada en esos campos (que a veces serán dos, tres, o cuatro), así uso esos campos como filtros de búsqueda en la consulta.

¿Qué estoy haciendo mal?

Saludos y gracias de antemano a este magnífico foro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consulta comando SInm

Publicado por Jesús Manuel (375 intervenciones) el 29/03/2017 09:45:12
Prueba con esto:

Como "*" & [Formularios]![FormFiltroAvisos]![CategoriaAvisos] & "*"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Toni Parisi

Consulta comando SInm

Publicado por Toni Parisi (6 intervenciones) el 29/03/2017 11:04:22
Ahora me saca todos los datos de la tabla sin hacer caso a los filtros. Da igual si dejo el campo del formulario en blanco o si selecciono alguno del cuadro combinado, siempre me saca todos los valores de la tabla a consultar.

Tambien he probado con la anterior Como SiInm(EsNulo([Formularios]![FormFiltroAvisos]![CategoriaAvisos]);"*";"Formularios]![FormFiltroAvisos]![CategoriaAvisos]") pero colocando cada una en una fila más abajo de la sección "o" en vez de poner la expresión en la misma fila de criterios de todas las columnas. Pero me pasa lo mismo que con tu solución, me muestra todos los campos de la consulta sin realizar ningun filtro.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consulta comando SInm

Publicado por Norberto (753 intervenciones) el 29/03/2017 13:47:29
Hola.

El problema es que usas criterios O y por otro lado haces que en caso de que un criterio esté en blanco lo asuma como válido. Es decir:

Campo1 (en blanco) cualquier valor O
Campo2 Pepito O
Campo3 Madrid O
Campo4 ...

Como campo1 está en blanco ya se cumple al menos una condición para todos los registros.

Si lo que quieres es que cumpla alguna de las condiciones (O) pero las que estén en blanco no las tenga en cuenta, cambia el "*" por algo sin sentido y no hace falta que uses Como:

SiInm(EsNulo([Formularios]![FormFiltroAvisos]![CategoriaAvisos]);"&&&";"Formularios]![FormFiltroAvisos]![CategoriaAvisos]")

De hecho bastaría con Formularios]![FormFiltroAvisos]![CategoriaAvisos]

Si lo que quieres es que se cumplan todas las que especifiques (Y), no teniendo en cuenta las que dejes en blanco yo uso el siguiente método:

Al finalizar los campos de salida de la consulta, voy añadiendo en tantas columnas como condiciones, las referencias a los combos del formulario; desactivo la casilla Mostrar y, como condición Y TODAS EN LA MISMA línea de criterios, el campo de la tabla con el que comparo; añadiendo la posibilidad de que esté en blanco con Es Nulo. En la imagen lo verás más claro.

GBVeXNFxgVTWqFDFeglGnLoG0Kfn30w81rshWccHcsIqmHBrMFiZgCUpryWmjxCoNVohNijiTwp-WsM=w1920-h943

Por si acaso, adjunto la imagen como archivo

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Toni Parisi

Consulta comando SInm

Publicado por Toni Parisi (6 intervenciones) el 29/03/2017 18:02:02
Gracias Norberto!!!!
Funcionó a la perfección (con la opción de la imagen que adjuntaste).

Estoy aprendiendo mucho en este foro.
Mil gracias de nuevo.

Saludos.
Toni Parisi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar