Comparación entre fechas con DateDiff y campo nulo

Estoy comparando en un formulario dos fechas para que me indique si la fecha de pago de un documento esta "en tiempo" o "atraso". Utilizo la siguiente sintaxis:
=IIf(DateDiff("y",[fivu],[fevu]]>11,"atraso","a tiempo")
La cual me da ese resultado, el problema es que a veces el campo "fevu" está vacío y en ese caso necesito que en lugar de "atraso" o "a tiempo" diga "falta dato" o lo que sea que se me ocurra.

1 Respuesta

Respuesta
1
Tienes que anidar dos iif's:
= IIf(IsNull([fevu]),"falta dato",IIf(DateDiff("y",[fivu],[fevu]]>11,"atraso","a tiempo"))
Te agradezco el apoyo pero al anidar de esa manera lo único que me sale es el valor 11 que son los días de tolerancia. No importa si esta lleno o vacío. ¿Estará mal mi argumento?
Teoricamente es asi: si fevu esta vacio= "falta dato", en caso contrario calculo si es mayor de 11 los dias de diferencia entre fivu y fevu y si es asi te dire si es "a tiempo" o en "atraso" ¿cierto?
=(IIf(IsNull([fevu]),"falta dato"),IIf(DateDiff("y",[fivu],[fevu])>11,"Atraso","A tiempo"))
La expresión correcta sería:
<span style="border-collapse: collapse; color: #4a4a4a; font-family: Arial; line-height: 17px;">= IIf ( IsNull([fevu]),"falta dato", IIf(DateDiff("y",[fivu],[fevu])>11,"Atraso","A tiempo") )</span>
o bien:
= SiInm(EsNulo([fevu]),"falta dato",SiInm(DifFecha("y",[fivu],[fevu])>11,"Atraso","A tiempo"))
Muchas gracias por tu solución. Ya modifique el formulario y los reportes necesarios. Estoy muy satisfecho con la solución.
Es la primera vez que participo en este tipo de foros y realmente quede muy contento con el apoyo.
Mil gracias
Por alguna razón no se finalizó la pregunta. Te agradezco nuevamente el apoyo. He hecho más variantes del mismo anidado y estoy muy satisfecha.
Mil gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas