Power Builder - Comparar fechas pero en un compute field

 
Vista:
sin imagen de perfil

Comparar fechas pero en un compute field

Publicado por Denys Alberto (109 intervenciones) el 05/07/2007 22:10:36
Hola a todos, y un saludo desde Madre de Dios -Perú, bueno la pregunta es la siguiente, deseo comparar una fecha de nacimiento con la fecha actual en un compute field, he intentado, pero siempre la edad q comparo se adelanta, osea si un hombre x nació en 09/08/1982 y comparado con esta fecha ya lo pone 25, pero en si debe colocarlo el dia cuando es el cumpleaños recien los 25 años, por ahora aún tiene 24..bueno eso seria todo, muchas gracias por anticipado por la ayuda q me pueden brindar....saludos Denys
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparar fechas pero en un compute field

Publicado por amilcar (407 intervenciones) el 05/07/2007 22:17:18
$PBExportHeader$f_fecha_to_edad.srf
global type f_fecha_to_edad from function_object
end type

forward prototypes
global function long f_fecha_to_edad (date as_fnacimiento)
end prototypes

global function long f_fecha_to_edad (date as_fnacimiento);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Autor: Fernando Ponte Chamorro Fecha: (27/08/2001)
//
// E-mail: [email protected]
//
// Versión: 6.5
//
// Función: f_fecha_to_edad
//

esta es una funcion q devuelve la edad segun la fecha pasada como argumento.
sacado de http://powerbuilder.iespana.es/

deberias gernerar una funcion y luego ponerla en el compute, seria algo asi
f_edad(campo_edad)

espero te sirva
saludos desde argentina

// Descripción: Retorna la edad a una fecha de nacimiento
//
// Ambito: Public
//
// Argumentos: as_fnacimiento {Date fecha de nacimiento pasado como valor}
//
// Retorna: long {Edad}
//
// Notas:
//
// Ejemplo: messagebox("",f_fecha_to_edad(date("09/01/63")))
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Anterior
//long anos
//anos = (year(today()) - year( as_fnacimiento ))
//if month(today()) < month( as_fnacimiento ) then anos -= 1
//if day( today()) < day( as_fnacimiento ) then anos -= 1
//return anos

// Mejora realizada por Elena García 08/07/03
long anos
anos = (year(today()) - year( as_fnacimiento ))
if month(today()) < month( as_fnacimiento ) then anos -= 1
if month(today()) = month( as_fnacimiento ) and day( today()) < day( as_fnacimiento ) then anos -= 1
return anos
end function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar