Resta entre campos con formato fecha

Tengo los siguientes campos:

1-Fecha1

2-Fecha2

La diferencia la calculo: =DifFecha("d",[Fecha1],[Fecha2])

Pero además quiero que si el resultado de la diferencia está entre 0 y 3, el resultado de la diferencia de las fechas será positivo, pero si el resultado para el rango de 0 y 3, el resultado sea negativo.

¿Serían tan amables de ayudarme con ello?

1 respuesta

Respuesta
1

La verdad es que no acabo de ver lo que pretendes, pero una vez obtenido un resultado, lo puedes "Cambiar" como prefieras.

Ejemplo:

Dim Diferencia As Variant

Diferencia =DifFecha("d",[Fecha1],[Fecha2])

If Diferencia >5 And Diferencia <50 Then

Diferencia = "No es la deseada"

Else

Diferencia = -Diferencia

End If

O el valor o texto, o rango que prefieras . Saludos >> Jacinto

Gracias por responder Jacinto, lo que quiero es que al resultado de la resta de ambas fechas, si es mayor que "3", entonces que dicho resultado sea negativo, es decir que contaría los días de retraso fuera del rango aceptado (0 a 3), espero haber sido más claro.

Saludos,

Creo entonces que lo que quieres por ejemplo es que si el resultado son 5, te diga que el retraso son 2. Entonces>> VBA

Dim Diferencia As Long

Dim Retraso As Integer

Diferencia =DateDiff("d",[Fecha1],[Fecha2])

If Diferencia >3  Then

Retraso = Diferencia -3

Else

Diferencia = Diferencia

Retraso = 0

End If

Si lo quieres hacer en una Consulta necesitarás:

Diferencia:DifFecha("d";[Fecha1];[Fecha2])

Retraso: SiInm([Diferencia]>3;[Diferencia]-3;[Diferencia])

No sé si habré acertado. Saludos >> Jacinto

Gracias Jacinto, me da error de "uso no válido de null", en la línea 3 del cálculo de la fecha:

Diferencia =DateDiff("d",[Fecha1],[Fecha2])

Saludos,

El error fue mio, agregué sin querer una letra a la variable, pero ahora me muestra solo la diferencia de las dos fechas, no me valida los rangos, es decir que si el resultado es 5, el desvío debería ser -2, y me muestra 5.

Saludos,

Inti: Puedes Prevenir los Nulos Con>>

If Not IsNull(Me.LoQueSea) Then

End If

Para los cuadros de Texto, una vez calculado el Valor de la variable, aunque Access lo acepte, a mi modo de ver es preferible>>

Me.TxtAlgo = Diferencia que TxtAlgo = Diferencia

Saludos >> jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas