Access - DEVOLVER 0 SI NO HAY REGISTROS

 
Vista:

DEVOLVER 0 SI NO HAY REGISTROS

Publicado por SALVA (56 intervenciones) el 11/12/2006 20:43:44
TENGO UN CAMPO EN UN FORMULARIO QUE SUMA CAMPOS NUMERICOS DE UNA CONSULTA EL PROBLEMA ES QUE SI NO HAY REGISTRO ME DEVUELVE ERROR# COMO PUEDO HACER PARA EN CASO DE NO HABER REGISTRO ME DEVUELVA EL IMPORTE CERO ES URGENTE GRACIAS
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

RE:DEVOLVER 0 SI NO HAY REGISTROS

Publicado por Enrique (1299 intervenciones) el 11/12/2006 21:09:47
En la Consulta creas un campo calculado y asignas ese campo calculado al Origen del Control del campo en el Formulario. Suponiendo que el campo que guarda los valores Numéricos o Nulos en la Tabla se llamara "Importe" :

CalculoImporte: SiInm([Importe] Es Nulo;0;[Importe])
Expresión; parte verdadera; parte falsa. Si se cumple la parte verdadera (Es Nulo) coloca un cero y si no se cumple (No es nulo) coloca el valor de Importe que haya.

Ahora el Origen del Control del campo del formulario tiene que ser "CalculoImporte" en lugar de "Importe".

A ver si te vale.
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

RE:DEVOLVER 0 SI NO HAY REGISTROS

Publicado por SALVA (56 intervenciones) el 11/12/2006 21:22:23
QUE VA SIGUE SIN DEVOLVER IMPORTE 0 HABER SI ME PUEDE DAR OTRA SOLUCION
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

RE:DEVOLVER 0 SI NO HAY REGISTROS

Publicado por Enrique (1299 intervenciones) el 11/12/2006 21:59:02
Vamos a hacer otro intento, prueba ahora poniendo esto que sigue, sin variar ni una coma en la Propiedad FORMATO del Campo, justo debajo de "Origen del Control":

Copia de aquí y pégalo en tu Formulario (ojo, en Formato del campo)
#.##0,00[Azul] €;-#.##0,00[Rojo] €;#.##0,00[Negro] €;"0,00 €"

Si todo va bien, los número positivos mayores que cero se verán en Azul, los negativos en Rojo, los que tengan valor cero en Negro y en los Nulos se verá cero en Negro.

En caso de que tampoco te funcione ahora, ya tendría que ver como lo estás haciendo, porque otra cosa de momento no se me ocurre.

Enrique
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

RE:DEVOLVER 0 SI NO HAY REGISTROS

Publicado por Chea (1015 intervenciones) el 12/12/2006 00:07:52
Hace poco, respondí en este mismo foro a una pregunta semejante:

---------
Yo para estas cosas tengo hecha una función que trata aparte el posible error y devuelve el valor deseado:

Public Function SinError(vComprobar As Variant, Optional vSiError As Variant) As Variant
SinError = vSiError
On Error Resume Next
SinError = vComprobar
End Function

En tu caso ser usaría, más o menos, así:

= SinError([Sumatorio1];0) -SinError([Sumatorio2];0)
-------------

Saludos
José Bengoechea Ibaceta
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

RE:DEVOLVER 0 SI NO HAY REGISTROS

Publicado por Ernesto (3 intervenciones) el 23/07/2019 21:15:06
Buenas noches Jose,

Funciona perfectamente tu módulo.

Pero si el valor del campo tiene un valor real, como puedo hacer para que me devuelva el valor real y no 0.
Gracias por tu ayuda
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