Hola Lokoman...
Al fin resolvi... Buscando en la web encontre este ejercicio... No usa mucho las funciones de vb 6.0 ... mas que todo es logica... Estaba hecho en php ... pero lo adapte a vb !!! Y lo mejor de todo es que funciona a la perfección...
Te lo dejo para que lo pruebes!!! Muchas gracias
Código vb:
Ver originalPublic Function Calcular(FechaInicio As Date, FechaActual As Date) As String
diaActual = DatePart("d", FechaActual)
mesActual = DatePart("m", FechaActual)
anioActual = DatePart("yyyy", FechaActual)
'**************************************'
diaInicio = DatePart("d", FechaInicio)
mesInicio = DatePart("m", FechaInicio)
anioInicio = DatePart("yyyy", FechaInicio)
B = 0
Mes = mesInicio - 1
' si el mes es febrero
If (Mes = 2) Then ' *
If ((anioActual / 4 = 0 And anioActual / 100! = 0) Or anioActual / 400 = 0) Then
B = 29
Else
B = 28
End If
ElseIf (Mes <= 7) Then '*
If (Mes = 0) Then
B = 31
ElseIf (Mes / 2 = 0) Then
B = 30
Else
B = 31
End If
ElseIf (Mes > 7) Then
If (Mes / 2 = 0) Then
B = 31
Else
B = 30
End If
End If
If ((anioInicio > anioActual) Or (anioInicio = anioActual And mesInicio > mesActual) Or (anioInicio = anioActual And mesInicio = mesActual And diaInicio > diaActual)) Then
MsgBox "La fecha de inicio ha de ser anterior a la fecha Actual"
Else
If (mesInicio <= mesActual) Then
Anios = anioActual - anioInicio
If (diaInicio <= diaActual) Then
Meses = mesActual - mesInicio
Dias = diaActual - diaInicio
Else
If (mesActual = mesInicio) Then
Anios = Anios - 1
End If
Meses = (mesActual - mesInicio - 1 + 12) / 12
Dias = B - (diaInicio - diaActual)
End If
Else
Anios = anioActual - anioInicio - 1
If (diaInicio > diaActual) Then
Meses = mesActual - mesInicio - 1 + 12
Dias = B - (diaInicio - diaActual)
Else
Meses = mesActual - mesInicio + 12
Dias = diaActual - diaInicio
End If
End If
End If '*
Calcular = Anios & "/" & Meses & "/" & Dias
End Function
La funcion DatePart ... toma la parte de la fecha dependiendo del parametro ...
Saludos y Éxitos