Fórum Calcular idade e mostrar no dbgrid #441873

05/05/2013

0

Bom dia pessoal, é o seguinte:

Tenho na tabela o campo DATANASC. O que eu quero fazer é calcular a idade e mostrar no DBGrid. Como posso fazer isso?
Frederico Brigatte***

Frederico Brigatte***

Responder

Posts

05/05/2013

Frederico Brigatte***

Eu fiz assim:

function CalcAnos(const Data1, Data2: TDateTime): integer;
var
D1, M1, A1,
D2, M2, A2: Word;
begin
DecodeDate(Data1, A1, M1, D1);
DecodeDate(Data2, A2, M2, D2);

Result := A2 - A1;

if (M1 > M2) or ((M1 = M2) and (D1 > D2)) then
Dec(Result);
end;


procedure TDM.cds_DependentesCalcFields(DataSet: TDataSet);
var
  Idade : TDateTime;
begin
  Idade := cds_DependentesDATA_NASC.AsVariant;
  cds_DependentesIdade.AsVariant := IntToStr(CalcAnos(Idade, Date));
end;


Não está trazendo nada. Quando debuguei deu a mensagem: Variable 'Self' inaccessible here due to optimization
Responder

Gostei + 0

05/05/2013

Frederico Brigatte***

Resolvido.
Responder

Gostei + 0

20/09/2013

Wellingthon Oliveira

como foi que vc conseguiu resolver seu problema amigo??
Responder

Gostei + 0

20/09/2013

Frederico Brigatte***

Você está com o mesmo problema?
Responder

Gostei + 0

20/09/2013

Wellingthon Oliveira

basicamente sim amigo..
Responder

Gostei + 0

20/09/2013

Frederico Brigatte***

o que vc está fazendo?
Responder

Gostei + 0

20/09/2013

Wellingthon Oliveira

o meu problema e o seguinte...tenho uma tela de cadastro de crianças onde insiro todos os dados, inclusive a data de nascimento DD/MM/AAAA

e tenho uma tela de cadastro de festas, e cadastro nessa tela as crianças que irão participar da festa, e os nomes das crianças são mostradas no dbgrid.

o cliente pediu que aparecesse a idade nessa grid ao lado do nome.

não tenho ideia de como somar a idade da tela de cadastro de crianças e mostrar na tela de cadastro de festas.

uso IBDataBase - IBDataSet - DataSource - IBUpdateSQL.

Responder

Gostei + 0

20/09/2013

Frederico Brigatte***

que banco vc está usando e qual delphi?
Responder

Gostei + 0

20/09/2013

Wellingthon Oliveira

SQL Mananger 2005 - Firebird - Delphi XE2
Responder

Gostei + 0

20/09/2013

Frederico Brigatte***

Quer mandar o projeto para eu ver?

frederico.brigatte@gmail.com

Dou uma olhada e te mando.
Responder

Gostei + 0

20/09/2013

Frederico Brigatte***

tem skype ou gtalk?

skype: frederico.brigatte@itelefonica.com.br

gtalk: frederico.brigatte@gmail.com

Ta usando dois bancos ou o primeiro é um gerenciador?
Responder

Gostei + 0

20/09/2013

Wellingthon Oliveira

Enviado o projeto..me add no skype wellingthon..g.o
Responder

Gostei + 0

20/09/2013

Wellingthon Oliveira

add vc no skype
Responder

Gostei + 0

20/09/2013

Frederico Brigatte***

qual é seu skype? não entendi. Não recebi.
Responder

Gostei + 0

23/10/2013

José

Como a duvida inicial foi solucionada, estou marcando o tópico como concluído.
Fiquem a vontade para abrir novos, tópicos, ou solicitar a reabertura deste.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar