1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| var Jour, JourN, Mois, MoisN, Annee, AnneeN: Word;
AgeAdherent:integer ;
begin
{Calcul de l'âge}
With DM.ADOQuery1 do
begin
SQL.Clear;
SQL.Add('SELECT Nom, Prenom, DateNaissance FROM Adherent');
SQL.Add('WHERE Nom='+quotedstr(DBgrid1.Fields[0].AsString)+' AND Prenom='+quotedstr(DBgrid1.Fields[1].AsString)+'');
open;
{Calcul de l'âge}
DecodeDate(StrToDate(Fields[2].asstring), AnneeN, MoisN, JourN);
DecodeDate(Date, Annee, Mois, Jour);
if (AnneeN=Annee) and (MoisN=Mois) and (JourN=Jour) then AgeAdherent:=0 // Jour actuel = Date de Naissance
else
begin
AgeAdherent:=Annee-AnneeN; // Calcul de l'âge
if (MoisN>Mois) then Dec(AgeAdherent)
else
if (MoisN=Mois) AND (JourN>Jour) then Dec(AgeAdherent);
end;
close;
end;
{Mise à jour de l'âge dans la base de données}
With DM.ADOQuery1 do
begin
SQL.Clear;
SQL.Add('UPDATE Adherent SET Age=AgeAdherent');
SQL.Add('WHERE Nom='+quotedstr(DBgrid1.Fields[0].AsString)+' AND Prenom='+quotedstr(DBgrid1.Fields[1].AsString)+'');
execsql;
close;
end; |
Partager