Hola:
Supongo que estarás familiarizado con el lenguaje "script" de Lotus.
Cómo no hay ninguna función en Approach que haga lo que tu quieres, tienes que hacerte una a tu medida. Esto es lo que he hecho yo, y funciona perfectamente.
Una función a la que le pasas las dos fechas, y te devuelve la diferencia entre ellas
cómo años, meses y dias (en formato "YY;MM;DD"), que descompongo despues.
'--------------Cargo las variables
DATE_A = Primera fecha (más lejana)
DATE_B = Segunda fecha (más cercana)
'======= Llamada a la función que devuelve la "diferencia"
'======= entre las fechas en formato (YY;MM;AA)
DIF_FECHAS = Diferencia_Fechas(Cstr(DATE_A),Cstr(DATE_B))
'======= Y despues de la llamada descomponemos lo que devuelve la función.
'======= Aquí lo convierto a enteros.
'======= En estas tres variables tienes la diferencia entre las fechas:
YEARS_DIF = Int(Mid(DIF_FECHAS,1,2))
MONTHS_DIF = Int(Mid(DIF_FECHAS,4,2))
DAYS_DIF = Int(Mid(DIF_FECHAS,7,2))
'Aquí está la función que obtiene AÑOS, MESES y DIAS que van entre
'DATE_A y DATE_B, o lo que es lo mismo: DATE_B - DATE_A
'---- Esta es la función que hace el cáclculo, que tendrías que "declarar" en "Globals":
Function Diferencia_Fechas(DATE_A As String,DATE_B As String)
FECHA_A = Cdat(DATE_A)
FECHA_B = Cdat(DATE_B)
'=================== Cuántos años van entre una fecha y otra
YEARS_DIF = Format(Int(Format(FECHA_B,"yyyy")) - Int(Format(FECHA_A,"yyyy")),"00")
'=================== Sumamos los años a la otra fecha
FECHA_A = FECHA_A + (YEARS_DIF * 365)
'========== Dias que van entre una fecha y otra (dentro del mismo año)
DIF = Format(FECHA_B - FECHA_A,"y")
'=========== Que corresponden a
MESES = Format(Int(DIF / 30),"00")
DIAS = Format(DIF - (MESES * 30),"00")
'=========== Devolvemos el cálculo en formato (yy;mm;dd)
Diferencia_Fechas = YEARS_DIF & ";" & MESES & ";" & DIAS
End Function
Espero que te sirva de ayuda.
Un saludo.
Manolo