Access Función Nz

Tengo un formulario compuesto por un subformulario en el que hay una serie de datos que filtro por años mediante un control. Un cuadro de texto que me da la suma (=Suma[importe]. Como el formulario está en vista hoja de datos éste no es visible.

Para ver el resultado un cuadro de texto (TOTAL) que me copia los datos del subformulario anterior.

Cuando filtro por un año que no hay datos el subformulario queda nulo y por consiguiente el control que me da el total me da mensaje #error.

He probado con la función Nz y no me salgo. Sigue dando #error.

Que solución puede tener.

Lo hago extensivo a otros formularios con características similares que me ocurre lo mismo.

1 Respuesta

Respuesta
1

Supongo que en el subformulario tienes el Total en la sección PIE y que ahí es donde tienes algo como =Nz(sum(importe);0) como origen del control.

¿Es así?

No está en el pie, está en el detalle, pero el resultado es el mismo, al no haber datos da error.

Tienes razón. El problema es que al filtrar, el subformulario se queda vacío, sin registros. Pero no da igual: al menos, si el total esta en el pie, el control es accesible desde el formulario principal, pero si esta en el detalle, al no haber registros, el detalle no tiene nada.

Cuando no hay registros al filtrar, debería aparecer en el subformulario un registro vacío (nuevo), y en ese caso el total simplemente aparecería vacío y no con error. Pero si el origen del subformulario es una consulta todo es un poco mas complejo. ¿Es tu caso?

Sí claro es una consulta el origen del formulario y del subformulario.

No necesariamente el origen tiene que ser una consulta. Cuando el origen del subformulario es una tabla secundaria, todo funciona normalmente. Pero si es una consulta todo depende de que tipo de consulta sea, sobretodo si es una consulta de totales. Como parece que es en este caso. No hay forma de evitar que se produzca un error, me temo. Siempre puedes ponerle un formato condicional para que en caso de error la fuente sea transparente y no se vea nada...

En el control del formulario en vista de formulario no puedo poner formato condicional

Puedes poner =Iif(iserror(sum(ventas));0;sum(ventas))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas