Access - Evitar #Error

 
Vista:

Evitar #Error

Publicado por Carlos jiménez (42 intervenciones) el 22/11/2004 19:37:55
Dentro del Detalle de un reporte realizo una diferencia (resta) sobre dos datos, el problema que tengo es que cuando falta un operando, el cuadro de texto imprime en el detalle del reporte lo siguiente: "#Error".

¿Hay alguna forma de solucionar esto, es decir que cuando detecte este error (que lógicamente esxiste por que falta un operando) imprima otra cosa o no imprima nada?

si alguien lo sabe se lo agradeceré.
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:Evitar #Error

Publicado por Juan Amorós (489 intervenciones) el 23/11/2004 14:53:51
Hola Carlos:
Supongamos la resta (tu ejemplo)
campoX= campo1-campo2
y que el campo1 o el campo2 NO contienen nada.

Entonces haz lo siguiente:

mcapox=Nz(campo1)-Nz(campo2)

No te dará error.

Saludos
Juan Amorós
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:Evitar #Error

Publicado por carlos jimenez (42 intervenciones) el 24/11/2004 21:24:51
Que tal.

Utilicé la función que me diste. NZ(<exp>,0)-NZ(<exp>,0), sin embargo no me funcionó.
por que trabaja sobre valores nulos, pero.......

En el Reporte tengo 2 subreportes, en cada uno realizo una suma.

Si el trabajaor no cuenta con un historial, SubReporte1 no aparece para ese trabajador, solo aparecen los registros de SubReporte2, (y eso está bien).

Sin embargo como te digo, cada SubReporte tiene una sumatoria, y en el Reporte Principal se realiza una diferencia.

Es ahí en donde me aparece el error, por que pràcticamente la diferencia se realiza sobre un campo que no existe, que en este caso es la sumatoria del SubReporte1.

no es que sea nulo, simplemente que no exíste para ese detalle del Reporte.

¿Alguien ha tenido una situación similar?

Gracias por sus alternativas.

Carlos Jiménez.
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:Evitar #Error

Publicado por CLAUDIO (47 intervenciones) el 11/02/2005 21:15:07
Probá generando esta función dentro de un módulo.
Después cuando escribas la expresión hacelo de este modo:
escero(campo1)-escero(campo2)

Function escero(numero) As Double
Dim RESULTADO
a = VarType(numero)
If a = 9 Or a = 1 Then
RESULTADO = 0
Else
RESULTADO = numero
End If
escero = RESULTADO

End Function
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

RE:Evitar #Error

Publicado por cHRISTIAN rOIDRIGUEZ (101 intervenciones) el 13/02/2005 02:05:28
Mira, te daré una ayuda que yo hice para lo mismo, lo que pasa es que no estoy en casa, y no recuendo en nombre de la funcion que use, pero bien.

Acces tiene una funcion que determina si el valor del texbox es de error, entonces con eso puedes solucionarlo

Debes buscar en la ayuda dicha funcion, o en el generador de Expresiones

la llamaremos para este ejemplo EsError(), recuerda, solo para ejemplificartelo

Textbox1----> Es donde tienes el resultado, que quiewres evaluar

Textbo2---> Debes poner
=SiInm(EsError(Textbox1);"0";Textbox1)

Espero te qyude

cualquier cosa me escribes



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

RE:Evitar #Error

Publicado por Eduardo (1 intervención) el 27/12/2016 00:30:53
Sos un genio, yo también tenía el mismo problema y con tu ayuda lo resolví, gracias a ésto me registré a LWP.

Saludos

E. Piriz
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
Val: 12
Ha disminuido su posición en 36 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Evitar #Error

Publicado por felmar (7 intervenciones) el 29/07/2020 18:31:32
Saludos!
Agradecido al pana cHRISTIAN rOIDRIGUez por su buen aporte de este tema...
me sirvio de muuuuuchooo!!
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:Evitar #Error

Publicado por emmanuel (2 intervenciones) el 24/02/2023 04:21:16
solucion es la siguiente:

para evitar que no salga el error #!Error o #!Num

[campo1]

[campo2]

se genera a través del generado de expresiones

total_de_suma: SiInm(EsNulo([campo1]);0;Nz([campo1])+SiInm(EsNulo([campo2);0;Nz([campo2])
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:Evitar #Error

Publicado por Anonimo (3312 intervenciones) el 24/02/2023 13:28:46
Los errores pueden producirse por causas diversas y cada una tiene su solución.

Si el objeto que se referencia 'existe' pero no tiene valor es claramente un NULL y la función Nz lo soluciona.

Pero si el objeto referenciado no existe (no esta en el entorno, fue eliminado, ....) la función Nz no hace nada.

Para esta situación están las funciones de error y particularmente IsError() que es indeterminada (el error puede ser ajeno) no es la mas idónea, pues hay especificas como IsNumeric() si se espera un numero, IsDate() si es una fecha ...etc.


Esta solucion:
1
total_de_suma: SiInm(EsNulo([campo1]);0;Nz([campo1])+SiInm(EsNulo([campo2);0;Nz([campo2])
No dará un resultado correcto si el formulario no contiene datos (no se crean los objetos: no pueden tener un valor incluido el NULL)

Esta otra si dará el resultado en cualquier condición (eso si: consume mas recursos)
1
total_de_suma: SiInm(IsNumeric([campo1]);[campo1]; 0)+SiInm(IsNumeric([campo2);[campo2]; 0)
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:Evitar #Error

Publicado por Alejandro de Tomás (1 intervención) el 21/03/2023 21:17:34
Muchas Gracias, realmente me has ayudado mucho. Te lo agradezco.
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:Evitar #Error

Publicado por David C (1 intervención) el 27/05/2015 02:14:26
Excelente!!! con esta operación todos los errores se hacen cero...
Muchas 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