Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-09-2003
Geron Geron is offline
Registrado
 
Registrado: ago 2003
Ubicación: La Plata - Argentina
Posts: 5
Poder: 0
Geron Va por buen camino
fecha de nacimiento ,sacar edad

tengo problemas por mi falta de experiencia, no peuedo encontrar un metodo que a partir de la fecha actual me devuelva la edad de la persona , probe de todo, lo ultimo que intente es definir un campo autucalculable, pero desde delphi me muestra cualquier cosa, al campo lo defini asi
alter table pacientes
add edad date computed " (no recuerdo bien o algo asi)" ('now'-pac_fecha_nac)

desde ya muchas gracias si alguno conoce algun metodo que me lo haga direstamente,por las dudas les comento que estoy trabajando con delphi5 y con firebird
saludos desde La Plata
Responder Con Cita
  #2  
Antiguo 03-09-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Debes de utilizar la función Date en vez de Now, ya que Now te devuelve la fecha y hora y al resultado que serán días lo divides entre 365 despreciando los decimales y lo guardas en un campo de tipo entero.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 05-09-2003
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 194
Poder: 21
muli Va por buen camino
Function Edad(FechaNacimiento:string):integer;
var iTemp,iTemp2,Nada:word;
Fecha:TDate;
Begin
Fecha:=StrToDate(FechaNacimiento);
DecodeDate(Now,itemp,Nada,Nada);
DecodeDate(Fecha,itemp2,Nada,Nada);
if FormatDateTime('mmdd',Now) <
FormatDateTime('mmdd',Fecha) then Result:=iTemp-iTemp2-1
else Result:=iTemp-iTemp2;
End;

Procedure TDatos.ClientesCalcFields(DataSet: TDataSet);
begin
If Utiles.DateOk(Datos.Clientes.FieldByName('Nacimiento').AsString) Then
Begin
Datos.Clientes.FieldByName('Anos').AsFloat:=Edad(Datos.Clientes.FieldByName('Nacimiento').AsString);
End;
end;
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:11:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi