RMG escribió:Hola Daniel,
He podido averiguar que aplicando esta función en una consulta se obtienen los años, no es exacto al cien por cien por los años bisiestos, pero a lo mejor te sirve.
DATEDIFF( 'DD', "FechaNacimiento", CURDATE( ) ) / 365
Aqui te pongo la dirección donde estan estas funciones, quizas puedas aplicar la de las horas.
http://wiki.services.openoffice.org/wik ... Procedures
Saludos
Ramón
Option Explicit
Sub CalcularMeses( Evento )
Dim oFecha As Object
Dim lFecha1 As Long
Dim lFecha2 As Long
Dim mDatos()
Dim iMeses As Integer
Dim sResultado As String
If Not Evento.Source.isNew() Then
oFecha = Evento.Source.getDate(2)
lFecha1 = CLng(DateSerial(oFecha.Year,oFecha.Month,oFecha.Day))
lFecha2 = CLng(Date())
mDatos = Array( lFecha1, lFecha2, 0 )
iMeses = FuncionCalc( "com.sun.star.sheet.addin.DateFunctions.getDiffMonths", mDatos() )
sResultado = (iMeses \ 12) & " años y " & (iMeses Mod 12) & " meses"
Evento.Source.getByName("txtMeses").Text = sResultado
End If
End Sub
Function FuncionCalc( Nombre As String, Datos() )
Dim oSFA As Object
oSFA = createUnoService( "com.sun.star.sheet.FunctionAccess" )
FuncionCalc = oSFA.callFunction( Nombre, Datos() )
End Function
oFecha = Evento.Source.getDate(2)
Sub CalcularMeses( Evento )
If Not Evento.Source.isNew() Then
Evento.Source.getByName("txtMeses").Text = CalculaEdad( Evento.Source.getDate(36) )
End If
End Sub
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado