Access 2010: En una orden If , solo cumple el tercer argumeto

En access 2010, en una orden if solo me cumple el tercer argumento, no el segundo.

Tengo 2 campos: (R) del tipo Si/No e (ILE) que es un campo numérico y 3 campos (A, B, C) del tipo fecha

Quiero que si R cumple la condición de verdadero, ILE sea igual a la diferencia entre las fechas A y B

Si no cumple la condición (Falso), ILE sea igual a la diferencia entre las fechas A y C

Private Sub ILE_Click()

If [R]="verdadero" Then

[ILE]= DateDiff("m", [A],[B])

Else

[ILE]= DateDiff("m", [A],[C])

End if

End sub

La respuesta es la misma, cumpla o no la condición. Siempre se comporta como si no cumpliera la condición.

1 respuesta

Respuesta
2

Esta cometiendo el error de trata R como si fuera texto, y aunque es un campo Si/No es numérico. Primero prueba con

If R=true then

ile=datediiff("m",A,C)

else lo demás

También puedes ponerlo como

If R=-1 (que equivale a true y es realmente su valor) then

Cuando la casilla si/no está marcada equivale a -1 o True

Cuando está desactivada equivale a 0 o False

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas