Access - Sumar Campos Null

 
Vista:
sin imagen de perfil

Sumar Campos Null

Publicado por Angel (25 intervenciones) el 03/02/2016 19:54:28
Buenas chicos/as, tengo un pequeño atasco con una formula, resulta que tendo los 7 dias de la semana y en cada uno almaceno un valor, pero al sumarlo todos, no lo consigo si alguno de los dias el valor se queda en blanco.

Como debo hacer para que no sea necesario tener que ponerle el el valor 0.

Gracias,
Un Saludo
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

Sumar Campos Null

Publicado por Angel (25 intervenciones) el 04/02/2016 07:58:18
Lamentablemente Enrique desconozco la utilización de la función NZ, podrias explicarmela un poco.

Gracias,
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
sin imagen de perfil

Sumar Campos Null

Publicado por Enrique Heliodoro (1664 intervenciones) el 04/02/2016 09:25:09
En la ayuda de Access están todos sus comandos y mas del 98 por cien tiene asociados ejemplos prácticos de su utilización.

Lo mas rápido hubiera sido escribir 'nz' y pulsar la tecla F1 (una cosa es desconocerlo y otra no querer 'enterase ' de como funciona)

Es una función (que se puede utilizar en VBA y fuera de el) que evalua un objeto y devuelve el valor de ese objeto o un valor alternativo que se le indique.
Solo requiere que el 'objeto exista' para poder evaluarlo y 'considera como null' a aquellos cuyo valor este sin inicializar (para 'objetos que no existen' hay otras alternativas)

Si en el campo ZZZ de una tabla cualquiera se espera un valor (sea numérico o de texto) o un valor NULL, la forma de enmascarar a ese null es asi:

Antes 7 * [Precio venta] ==> al ser 'precio venta' un valor inexistente resultaría:
7 * [precio venta] ==> 7 * Null ==> NULL

Con la función:
7 * Nz([precio venta], 0)
Si Precio venta es 4:
7 * Nz([precio venta], 0) ==> 7 * [precio venta] ==> 7 * 4 ==> 28

Si precio venta esta sin asignar (es un null)
7 * Nz([precio venta], 0) ==> 7 * 0 ==> 0


Si no se utiliza el resultado para sucesivos cálculos, se puede utilizar asi (como elemento estético)
Nz([precio venta], "Precio desconocido")

Con la función:
Nz([precio venta], "Precio desconocido")

Si Precio venta es 4:
Nz([precio venta], "Precio desconocido") ==> 4

Si precio venta esta sin asignar (es un null)
Nz([precio venta], "Precio desconocido") ==> "Precio desconocido"

En la ayuda de Access esta la síntesis vital de la aplicación, en ella se basan todo el resto de libros que intentan darlo a conocer, no es necesario comprar libros, basta con acudir a la ayuda (cercana veraz y económica, viene 'de regalo' con cada versión de Access)
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
sin imagen de perfil

Sumar Campos Null

Publicado por Angel (25 intervenciones) el 04/02/2016 10:46:59
Buenas nuevamente y muchisimas gracias por tus respuestas.

He probado lo que comentas:

Si precio venta esta sin asignar (es un null)
7 * Nz([precio venta], 0) ==> 7 * 0 ==> 0

Por dejar este hilo cerrado, me daba error de sintaxis, depues de algunas pruebas conseguir hacerlo funcionar sustituyendo la coma antes del 0 por un punto y coma.

7 * Nz([precio venta]; 0) ==> 7 * 0 ==> 0

Gracias,
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
sin imagen de perfil

Sumar Campos Null

Publicado por Enrique Heliodoro (1664 intervenciones) el 04/02/2016 11:12:02
No es 'un error de sintaxis' es una simple 'adaptación al entorno'.

En España (por eso de que 'somos diferentes') utilizamos como separador decimal la coma y como separador de listas el punto y coma .... si se utiliza la configuración regional de Siberia, habría que adaptarse a su separador de listas y decimal.

Aun asi ... en cualquier idioma (y cuando se acuda al VBA) se utilizara como 'separador común' los americanos (punto para los decimales, coma para las listas) y es asi porque son los creadores de la criatura y tomaron esa decisión (y veras como te diviertes con las fechas)l.
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