No mostrar valores =0 en un formulario

Dudas sobre Tablas, Consultas, Formularios, Informes...
Tomas1956
Nivel 1
Mensajes: 16
Registrado: Mar Sep 28, 2021 3:44 pm

No mostrar valores =0 en un formulario

Mensajepor Tomas1956 » Sab May 07, 2022 12:06 pm

Buenos días.
Llevo varias semanas haciendo pruebas y no consigo dar con la solución al problema.
Veamos tengo un informe que es la que adjunto:
2022-05-07.png

Esta es la consulta en la que se basa el informe:
2022-05-07 (1).png

He intentado que en el informe sólo aparezcan los morosos cuyo saldo final sea distinto de 0.
Es decir, si el campo independiente "=Suma([Debe])-Suma([Haber])" se distinto de cero deben mostrarse los registros.
Hay alguna posibilidad de que se pueda hacer lo que pretendo aprovechando lo hecho?.
Gracias anticipadas.
P.D. Todo funciona perfectamente.

DaniLopez1991
Nivel 6
Mensajes: 224
Registrado: Lun Sep 23, 2019 2:12 pm

Re: No mostrar valores =0 en un formulario

Mensajepor DaniLopez1991 » Mié May 11, 2022 10:08 am

Se me ocurre que en vez de que sea un campo independiente del informe sea un campo que crees en la consulta ya que va por registro. En la consulta pon al final total: =Suma([Debe])-Suma([Haber]), y luego pones el criterio <> 0 y te saldrán solo los que quieres. Ahora bien si no es por registros habría que elaborar mas la consulta. Cuenta que el informe solo muestra datos, si quieres filtrar o modificar tambien lo puedes hacer por código en el apartado detalle del informe puedes mirar el evento que mas te interese para hacer lo que quieras.

Saludos

Tomas1956
Nivel 1
Mensajes: 16
Registrado: Mar Sep 28, 2021 3:44 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Tomas1956 » Mié May 11, 2022 8:32 pm

Buenas tardes Dani.
Gracias por tu respuesta.
Ya la había probado y me da un error "La consulta no incluye la expresión específica "NomCdad" como parte de una función de agregado".
La consulta me trae todos los registros que están en la Bd y que cumplen las condiciones que se especifican en la consulta. Todo eso funciona bien.
En el informe se me muestran todos los registros agrupados por PL, es decir por vivienda, el saldo es continuo, es decir, el último saldo de cada grupo es el que me marcaría si muestro ese grupo o no.
Aquí es donde tengo el problema que no se como resolver.
Quiero pensar que debe haber alguna solución, que quizás no esté a la altura de mis conocimientos, si esto es así, pues nada a sacar todas las páginas del informe.
Agradecido a los que puedan darme un consejo.
Gracias

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1227
Registrado: Dom Oct 25, 2015 3:42 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Neckkito » Jue May 12, 2022 12:12 pm

Sin tener todos los detalles resulta bastante complejo darte una solución concreta, pero como idea global, y suponiendo que tienen un campo clave que pueda servirte de relación con la consulta que ya tienes hecha, te planteo una hipotética solución (digo hipotética porque sin conocer la estructura de tu BD no puedo saber si realmente te va a funcionar):

1.- Crea una consulta de agregado que te dé el valor de debe-haber y que tenga ese campo clave que comentaba.
2.- A esa consulta la filtras por valores distintos a cero. Eso te dará todos los datos filtrados que necesitas para tu informe.
3.- Crea otra consulta que se base en la que ya tienes hecha y en la consulta de agregados. Relaciónalas por el campo clave de tal manera que la relación sea que te muestre solo los registros coincidentes en ambas consultas.

De esta manera la consulta resultante debería ser como la que ya tienes hecha, pero al forzar que te muestre los registros coincidentes la segunda consulta es la que te "depura" los resultados, eliminando aquellos que cumplen la condición de que debe-haber=0

Insisto: sin conocer estructura y datos no puedo asegurar que funcione, pero por probar...

Un saludo.
Access MVP 2017-2022
http://bit.ly/NckAccess

Tomas1956
Nivel 1
Mensajes: 16
Registrado: Mar Sep 28, 2021 3:44 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Tomas1956 » Dom May 15, 2022 11:54 pm

Buenas noches.
Aquí van las 3 consultas que he creado:
Consulta1.png
para el Haber.
Consulta2.png
para el Debe.
Consulta3.png
para calcular el Saldo.
Se producen varios errores en varios registros de la consulta 3.
Es que se producen errores de cálculo
SumaDeDebe SumaDeHaber Saldo Comunero
473,4 473,4 -5,6843418860808E-14 24
473,4 473,36 4,00000000000205E-02 41
282,49 275 7,49000000000001 52
Lo he solucionado poniendo en el campo saldo de la consulta Formato estándar, pero lo más curioso es que el registro 24 que tiene el mismo haber que debe, también se refleja cuando pongo como criterio de saldo <>0
SumaDeDebe SumaDeHaber Saldo Comunero
473,4 473,4 0,00 24
Lo he intentado averiguar pero ya no sé dónde buscar.
Cuando se solucione esto, ya seguiré con lo siguiente.
Hay alguna explicación?
Gracias.
P.D. No se la causa de aparecer 2 veces los pantallazos.

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1227
Registrado: Dom Oct 25, 2015 3:42 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Neckkito » Lun May 16, 2022 12:53 pm

Hola:

No sé de dónde debes sacar los datos, pero esos valores te los está dando en notación científica, lo que te está diciendo que en alguna posición decimal hay diferencias, lo que ocasiona que realmente esos dos importes no sean exactamente iguales.

Para solucionar esto podrías intentar probar con la función Round(), redondeando a 2 decimales, a ver si te va bien.

Te dejo aquí un ejemplo muy simplificado de cómo podría ser una sistemática para conseguir lo que pides, a ver si te puede orientar en algo: https://www.mediafire.com/file/995qsqu6xncc7x5/Tomas1956.InformeSinCero.zip/file

Un saludo.
Access MVP 2017-2022
http://bit.ly/NckAccess

Tomas1956
Nivel 1
Mensajes: 16
Registrado: Mar Sep 28, 2021 3:44 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Tomas1956 » Mar May 17, 2022 1:21 am

Buenas noches Miguel
Gracias por tu aportación.
Los datos los saco todos de una tabla que se llama recibos.

Ya tenía un listado en que me salían todos los comuneros indicándome su saldo en el momento.
También tenía un listado para sacar los movimientos de un comunero.

Antes de meterme en este fregado veía por pantalla los morosos según el primer listado y después imprimía, por el otro listado, los que eran morosos.
Cómo no me puedo quedar quieto es por lo que me metí en esta modificación.
He probado lo que me has mandado y funciona, pero con el mismo problema, no controla bien los saldos de valor <>0, y tampoco el hecho de que las sumas del debe y haber sean iguales y el saldo de un resultado científico.
Voy a seguir haciendo pruebas hasta que averigüe lo que está ocurriendo o hasta que me canse.
Voy a seguir metiendo datos en lo que me mandaste para intentar reproducir los errores e intentar averiguar el motivo, ya te diré si lo averiguo o me canso.
Un saludo.

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1227
Registrado: Dom Oct 25, 2015 3:42 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Neckkito » Mié May 18, 2022 11:26 am

Access MVP 2017-2022
http://bit.ly/NckAccess

Tomas1956
Nivel 1
Mensajes: 16
Registrado: Mar Sep 28, 2021 3:44 pm

Re: No mostrar valores =0 en un formulario

Mensajepor Tomas1956 » Dom May 22, 2022 10:44 pm

Buenas noches Miquel.
Ante todo pedir disculpas por no haber contestado antes.
Me costó, pero al fin con tu ayuda está todo perfecto.
El error estaba en la definición de los campos que intervienen.
Tuve que cambiar algunas cosas de mis tablas, pero ya está.
Gracias por tu magistral clase.
Un abrazo.


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 11 invitados