Siempre quiero resultado aunque no haya datos

Tengo hecha una consulta con 3 criterios el primero siempre tiene datos, el segundo y el tercero se tienen que cumplir los dos para que me devuelva datos, el problema es que hay veces que no se cumplen las condiciones del 2 y 3 y por lo tanto no devuelve datos, lo que pretendo es que aunque no se cumplan me devuelva un cero. Nz no funciona, pues no es que el valor sea nulo, simplemente es que no hay datos.

No se si me he explicado lo suficiente, si alguien me puede echar una mano y me deja un correo le puedo enviar un ej.

Muchas gracias de antemano por vuestro tiempo.

Un saludo.

Fran

1 Respuesta

Respuesta
1

Sin saber exactamente cómo son tus tablas y la consulta, pero suponiendo que tiene que ver con esta otra pregunta, se me ocurre que hagas una consulta intermedia en la que usando la función SiInm rellenes con 0 los campos en los que no tengas datos, para que en la consulta definitiva te salga como quieres.

Algo así: SiInm([TuCampo]="";0;[TuCampo])
o así, por si tienes nulos: SiInm(Nz([TuCampo];"")="";0;[TuCampo])

Hola.

Gracias por la respuesta, voy a intentar ser más explícito. Te pongo un ej de la tabla columnas

Centro - TO - TD - UD(título columnas)

D2.         N.       N.   5

D2.         N.        S.   7

D2.         S.         N.  0

Necesito hacer 3 consultas la primera le digo q centro sea igual a D2 y to y td que sean N lo cual me devuelve 5. Ud 

La siguiente, le pido D2 y to y td sean iguales y devuelve 7, el problr es que cuando en la tabla no hay Ud en el criterio D2 y to o ts la tabla donde hago la consulta no tiene datos, es decir la fila que yo he puesto 0 Ud no aparece, no aparece para poner 0 simplemente saldrían las q tienen Ud, por eso yo después sumó las 3 consultas y como una de ellas ni devuelve nada me da error, y quiero decir que no devuelve nada, no porque el campo este vacío, nulo o cero si no porque no existe esa fila con esas coincidencias.

Jaja no se si no lo habré liado más.

Gracias.

Pues sí que me has liado más, jajaja... sobre todo cuando dices "le pido D2 y to y td sean iguales y devuelve 7"- ¿Ahí no debería devolverte 5?

Otra pregunta: ¿Cómo haces la suma de las 3 consultas? ¿Por código?

Si quieres sube un ejemplo (con lo que tienes) a dropbox, onedrive... o web como filebig.net o mega, y me pones aquí el enlace para que lo descargue. Así, intentaré darte una respuesta más precisa.

Ok de lujo, la verdad ahora que lo leo si que no está muy bien explicado.

Gracias lo subo a dropbox y te paso el enlace por aquí.

Hola.

este es el enlace https://dl.dropboxusercontent.com/u/96291087/Database11.mdb 

Es un ejemplo, sei te fijas en la consulta donde sumo y resto, hay una que no me devuelve ud porque al hacer la consulta esa semana en la tabla no se hizo nada con esos parámetros ( esta semana paso con estos parámetros, pero puede pasar con cualquiera de los otros dos).

Espero poder haberte aclarado algo.

Gracias por tu tiempo.

Un saludo.

Fran

Te planteo 4 alternativas.

Las que acaban en v1 y v2, uso Nz para poder hacer la suma. En la v1 sólo en la parte del cálculo, y en la v2 también en los campos que intervienen en el cálculo. En este caso, además uso la función Val() para que figuren como número y no texto. Y la v2 tiene el inconveniente de que hay q renombrar los 2 campos q vienen de las 3 consultas.

Dicho esto, este sistema te funcionará siempre y cuando la consulta C_TN_TN te devuelva datos para las 3 secciones. Si en algún momento te encuentras que te falta una sección, la consulta Suma tendrá esa falta de sección.

Para evitar eso, están las consultas v3 y v4, en las que la relación se hace desde una nueva consulta C_Seccion (que muestra las distintas secciones de la tabla) a cada una de las 3 consultas. Así siempre tendrás las X secciones que manejes, haya o no datos para una en concreto. La v3 sigue la misma estructura que la v1 y la v4 que la v2.

Yo optaría por la v4 en primer lugar y luego por la v3.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas