Campo calculado fechas valor en blanco

A ver si consigo explicarme

Tengo un campo calculado que me indica los años que han pasado entre dos fechas y dependiendo de los años me lanza un valor de numero u otro. Hasta ahí sin problemas. Si cambios las fechas me recalcula sin problemas pero si le quito la fecha de finalización me sigue manteniendo los valores y lo que quiero es que me ponga o ponga los valores a 0 o me lo deje en blanco

1 Respuesta

Respuesta
2

No sé como te hace los cálculos pero vamos a suponer que tienes un control FechaInicial y otro control FechaFinal. Y supongamos que el control donde quieres que te aparezca la diferencia en años se llama Edad

En las propiedades del cuadro de texto FechaFinal-Eventos-Después de actualizar crea un procedimiento de evento y entre Private Sub y End sub puedes poner

If not isnull([fechafinal]) then

edad=fix((fechafinal-fechainicial)/365.24)

else

edad=""

end if

De forma que si borras la fecha final el control Edad te aparece en blanco.

Muchas gracias Julián.
Tengo la siguiente duda

Dependiendo del número de años que resulten del calculo me vuleca un valor u otro en un campo que se llama cupones.

If Enaños < 1Then
cupones = 0
ElseIf Enaños>=1 And Endias < 5 Then
cupones = 1
ElseIf Enaños>=5 And Endias < 10Then
cupones = 3

¿Donde tendría que poner el código que me indicas?

If not isnull([fechafinal]) then

Enaños =fix((fechafinal-fechainicial)/365.24)

else

edad=""

end if

Gracias

A continuación del end if que te puse

Es decir, primero comprueba que hay algo escrito en el control FechaFinal. Si lo hay, en el control EnAños te calcula los años(redondea al menor). Si no lo hay te deja Enaños como cadena vacía.

No sabía que trabajabas con días, pero es igual. A continuación del End If que te puse yo puedes abrir otra instancia If

Si sólo trabajaras con años te resultaría más cómoda la instrucción Select case ya que la puedes poner, por ejemplo

Select case EnAños

case=1

lo que tenga que hacer

case 3 to 5 ( en caso de que EnAños, pueda valer 3, 4 ó 5)

lo que tenga que hacer

case=6,7

etc

End select

De todas formas, yo no me molestaría ni en poner los controles EnAños y EnDias. Bastaría con usar

Select Case fix(......

case is<1

cupones=0

case 1 to 4

cupones=1

case 5 to 9

cupones=3

...End select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas