Fórum Calcular idade e mostrar no dbgrid #441873
05/05/2013
0
Tenho na tabela o campo DATANASC. O que eu quero fazer é calcular a idade e mostrar no DBGrid. Como posso fazer isso?
Frederico Brigatte***
Curtir tópico
+ 0Posts
05/05/2013
Frederico Brigatte***
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
Gostei + 0
05/05/2013
Frederico Brigatte***
Gostei + 0
20/09/2013
Wellingthon Oliveira
Gostei + 0
20/09/2013
Frederico Brigatte***
Gostei + 0
20/09/2013
Wellingthon Oliveira
Gostei + 0
20/09/2013
Frederico Brigatte***
Gostei + 0
20/09/2013
Wellingthon Oliveira
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.
Gostei + 0
20/09/2013
Frederico Brigatte***
Gostei + 0
20/09/2013
Wellingthon Oliveira
Gostei + 0
20/09/2013
Frederico Brigatte***
frederico.brigatte@gmail.com
Dou uma olhada e te mando.
Gostei + 0
20/09/2013
Frederico Brigatte***
skype: frederico.brigatte@itelefonica.com.br
gtalk: frederico.brigatte@gmail.com
Ta usando dois bancos ou o primeiro é um gerenciador?
Gostei + 0
20/09/2013
Wellingthon Oliveira
Gostei + 0
20/09/2013
Wellingthon Oliveira
Gostei + 0
20/09/2013
Frederico Brigatte***
Gostei + 0
23/10/2013
José
Fiquem a vontade para abrir novos, tópicos, ou solicitar a reabertura deste.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)