Auteur Sujet: [Réalisé ß303] Anomalie 20 : calculs de l'age et affichage  (Lu 13348 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne Tophe3860

[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #19 le: 10 Mai 2005 à 20:09:46 »
Citation de: "DDdeberdeux"
Si je peux me permettre...


Si, à mon tour, je peux me permettre  :wink: , tu peux totalement te le permettre : tous les avis sont bienvenus... :wink::wink::wink:



PS : un tit truc...

Quand un auteur oublie ou souhaite modifier un élément dans son message, il a toujours la possibilité de le faire en utilisant le bouton , en haut à droite du message envoyé... :wink:
Christophe Pensez [résolu] et trucs & astuces : un ancestrologie pour tous, tous pour un ancestrologie!
 

Hors ligne DDdeBerdeux

[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #20 le: 10 Mai 2005 à 20:31:09 »
Où est le bouton "EDITER", je ne le vois pas? Je sais je suis bigleux mais quand même :x

J'en profite pour complèter, mais là çà devient une suggestion d'amélioration. On pourrait établir une règle qui me semble proche de la coutume pour l'âge. On parle en jours jusqu'à 2 semaines, en semaines jusqu'à 2 mois, en mois jusqu'à 2 ans, en années au-delà (j'arrête, on n'en est pas encore aux siècles). :)

Pas simple à programmer, mais juste à faire une fois et conserver dans un champ varchar(40), lequel  permettrait de présenter un commentaire (genre "environ") si la conversion en âge est impossible (pb de conversion de date).

A méditer?

Je reprend, J'AI TROUVE LE BOUTON EDITER. (faudra que je change de lunettes)
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

garnierfrancoise

  • Invité
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #21 le: 10 Mai 2005 à 21:47:03 »
Comme indiqué le bouton "Editer" est en haut à droite de ton message.

Mais comme seul l'auteur d'un message peut "Editer" son message. Le bouton "Editer" de tes messages n'apparait que si tu t'es connecté.
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #22 le: 10 Mai 2005 à 21:50:14 »
Citation de: "DDdeberdeux"
Pas simple à programmer,
Je ne te le fais pas dire car il faut également rajouter un paquet de variables à transmettre entre les proc et la form, ou réécrire le calcul dans chaque cas où l'on doit l'afficher :roll:
Citer
mais juste à faire une fois et conserver dans un champ varchar(40)
he non...faut le recalculer à chaque affichage, car l'age est généré en fonction de la naissance et du décés si la personne est décédée ..... sinon en fonction de la date courante, et en plus on y perdrait en clarté de programmation car il faudrait réactualiser (dans le doute) cette donnée à chaque saisie potentiellement concernée   :arrow:  mais bon l'espoir fait vivre  :wink:



 :idea: Au vu de l'évolution des réponses au sondage, je suggèrerai la chose suivante:

[list=1]Dans un 1er temps: Corriger le calcul au niveau des fiches, pour afficher l'écart entre les dates en années entières en ne gardant que la partie entière de la division par 365.25 de l'écart en jours (comme dans anniversaire) et Corriger dans anniversaire pour ne garder que la partie entière du résultat avant d'affecter à age. (Dans le cas où les champs dates de la base ne sont pas renseigné, on fera simplement la différence entre les années)

Dans un avenir à définir: améliorer en rajoutant une data d'échange pour transmettre le nombre de mois, calculés avec la même base[/list:o]:arrow: L'intêret de ce phasage:

    Dans un délai court, de ne plus afficher un age exagéré, c'est souvent fort déplaisant pour des utilisateurs (trices :)  ) de se sentir vieilli  :?

     La modification ne concerne que 2 modules à priori

     Après de plus mûres réflexions, pour appréhender le meilleur compromis entre lourdeur de développement et complexité de fonctionnalité, en clair ne pas développez une usine à gaz pour rien
Mais n'hésitez pas à continuer d'apporter votre eau au moulin, tous les avis sont les bienvenus  :wink:
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne guillaume simonnet

  • AncestroSenior
  • *****
  • Messages: 1 686
    • http://mapage.noos.fr/guillaume.simonnet/
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #23 le: 10 Mai 2005 à 23:16:29 »
j'apporte de l'eau au moulin... je constate que les donnees geneanet de moins de 100 ans non accessibles au public le deviennent (accessibles) automatiquement si l'individu concerne devient centenaire. il doit donc se passer un calcul automatique quelque part, ce qui devrait nous donner de l'espoir pour cette anomalie  :wink:
l'abus de forum peut être dangereux pour votre santé...
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #24 le: 10 Mai 2005 à 23:23:43 »
C'est ce que je dis: on ne peux se permettre de stocker l'age comme proposé par DDdeberdeux, car il évolue

Que ce soit généanet, Ancestrologie ou d'autres, l'age doit systématiquement être recalculé àavnt l'affichage
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #25 le: 11 Mai 2005 à 00:17:11 »
D'après
Citer
floor retourne l'entier inférieur du nombre value . La valeur retournée est un nombre à virgule flottante, ( float ) car ces nombres peuvent être plus grands que les entiers.

Exemple

 floor(4.3);   // 4

 floor(9.999); // 9
Je fais la suggestion suivante pour les anniversaires:

au lieu de: (CURRENT_DATE - naissance.ev_ind_date) /365.25 as AGE je mettrai:
Citer
floor((CURRENT_DATE - naissance.ev_ind_date) /365.25) as AGE


Qu'en pense Philippe??
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #26 le: 11 Mai 2005 à 22:45:59 »
:shock: Nouvelles réflexions ... la nuit porte conseil  :!:  :wink:

J'étais en train de vérifier mes dires d'hier soir, car j'avais un doute:

la solution que je proposais (et qui fonctionne) rapporte bien l'âge juste, mais calculé à la date du jour courant

 :arrow: ça conviendrait pour les affichages d'age courants

 :arrow:  mais ça ne convient pas , à mon avis, pour la fenêtre anniversaire, où je pense que l'on attend effectivement l'age qui sera atteint à la date d'anniversaire de l'année en cours, peu importe quel jour on est aujourd'hui..... donc mea culpa :oops:



En fait, certaines personnes ont parlé d'erreur à partir d'août, mais non, dans la fenêtre anniversaire, ce qui se passe:

 :arrow: comme je l'ai dit auparavant, l'age est calculé juste à partir de la date courante, puis arrondi

 :arrow: donc, jusqu'à une date correspondant à la date courante + 6 mois, soit la date naissance est antérieure à la date courante et le résultat est juste, soit elle est postérieure et le résultat est que jusqu'à une date correspondant à la date courante + 6 mois, le calcul renvoi une valeur >age+0,5 et on a age+1, mais dés qu'on boucle à plus de 6 mois on a un résultat <age+0,5 et on obtient age réel à aujourd'hui, mais pas à la date d'anniversaire.

 :arrow: par exemple pour aujourd'hui 11/05, la bascule se voit au 11 novembre  :!:

Pourquoi on parlait d'aout.... tout simplement cela se passait en janvier  :wink:
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #27 le: 11 Mai 2005 à 23:50:32 »
:D  Donc, si vous êtes d'accord pour que l'âge de la fenêtre d'anniversaire indique l'age à la date d'anniversaire, je propose la correction suivante de PROC_ANNIVERSAIRE:

FOR  SELECT DISTINCT

                  individu.cle_fiche,

                  individu.nom,

                  individu.prenom,

                  naissance.ev_ind_date,

                  individu.date_deces,

                  individu.sexe ,

                  extract(DAY from  naissance.ev_ind_date)as JOUR,

   /* Modifié par Bruno T. (macpc) le 11/05/2005 */

   /* (CURRENT_DATE - naissance.ev_ind_date) /365.25 as AGE restitue un age

   d'anniversaire erroné si la date de naissance a plus de 6 mois de différence

   avec la date courante, la différence des année ci dessous donne un age

   correcte à le date d'anniversaire */

                  extract(YEAR from CURRENT_DATE)-extract(YEAR from naissance.ev_ind_date) as AGE

               FROM individu,

                    evenements_ind naissance

               WHERE naissance.ev_ind_type = 'BIRT'

                     AND naissance.ev_ind_date is not null

                     AND :a_Mois = extract(MONTH from  naissance.ev_ind_date)

                     AND individu.cle_fiche = naissance.ev_ind_kle_fiche

                     AND ((individu.annee_deces is null and

                        /* MD - Pour les vivants limitation à 110 ans */

                         (individu.annee_naissance > (extract(YEAR from  CURRENT_DATE) - 110)) and  :I_MODE = 0)

                         OR (:I_MODE = 1))

                     AND naissance.ev_ind_kle_dossier = :I_DOSSIER

               ORDER BY 7,4

               INTO

                   :CLE_FICHE,

                   :NOM,

                   :PRENOM,

                   :DATE_NAISSANCE,

                   :DATE_DECES,

                   :SEXE,

                   :JOUR,

                   :AGE

   DO

   SUSPEND;

end


Qui donne le résultat suivant:

Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Lya

  • AncestroSenior
  • *****
  • Messages: 1 396
    • http://quidancestro.free.fr
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #28 le: 12 Mai 2005 à 00:27:55 »
BRAVO pour l'analyse et le résultat Bruno !!!

Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver...



 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #29 le: 12 Mai 2005 à 07:16:05 »
Merci  :)

Pour l'age des fiches, je patine encore un peu :roll:

Y me manque surement un bout  :shock:
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #30 le: 12 Mai 2005 à 10:15:20 »
Pour info:

La beta 289 intègre la modif pour la fenêtre anniversaire  :wink:
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Cecillon

  • AncestroExpert
  • *****
  • Messages: 464
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #31 le: 12 Mai 2005 à 14:22:59 »
Merci beaucoup Bruno pour cette analyse, tout ce travail, et le résultat obtenu



Je suis bien incapable de faire la moitié de ce que tu viens de faire ...



Merci merci merci !
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #32 le: 12 Mai 2005 à 23:29:11 »
Bon ça y est,  :lol:

J'ai identifié et préparé quelque chose pour les ages de la fiche  :)

Mais je suis coincé pour boucler car Philippe a fait évoluer cet affichage l'année dernière, et je ne connais pas le détail de ces modifications.  :cry:
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Ransac

  • Modérateur Global
  • AncestroGrandMaitre
  • *****
  • Messages: 3 015
  • Remercié: 1 fois
    • bases des villes
  • Programme: 2015-1996.3
  • Base: 5.131
  • Système: Windows vista, Windows 7, Windows 10
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #33 le: 13 Mai 2005 à 00:30:02 »
demande à philippe de te donner cette partie du code  :wink:
N'oubliez jamais que le mieux est l'ennemi du bien  et que la perfection n'est pas de ce monde !
Les définir est un défi, les réaliser est un leurre !    ... mais on aimerait tellement y croire!
 

Hors ligne Ancestrologie

  • AncestroGrandMaitre
  • *******
  • Messages: 5 083
  • Remercié: 3 fois
    • Ancestrologie
  • Programme: 1995
  • Base: 5.130
  • Système: Windows 8
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #34 le: 13 Mai 2005 à 02:13:05 »
Citer
Mais je suis coincé pour boucler car Philippe a fait évoluer cet affichage l'année dernière, et je ne connais pas le détail de ces modifications.




Que veux tu faire ??



pour l age de la fiche j utilise la proc suivante : PROC_AGE_INDIVIDU



CREATE PROCEDURE PROC_AGE_INDIVIDU (

    I_CLEF INTEGER)

RETURNS (

    DATE_DECES INTEGER,

    DATE_NAISSANCE INTEGER,

    AGE INTEGER)

AS

begin

   /*---------------------------------------------------------------------------

   Copyright Ph Cazaux-Moutou. Tout droits réservés.

   Créé le : 31/07/2001

   à : 17:48:18

   Modifiée le :

   à : :

   par :

   Description :

   Usage       :

   ---------------------------------------------------------------------------*/

    SELECT  DECES.EV_IND_DATE_YEAR,

            NAISSANCE.EV_IND_DATE_YEAR

    FROM    EVENEMENTS_IND DECES,

            EVENEMENTS_IND NAISSANCE

    WHERE   (DECES.EV_IND_KLE_FICHE = :I_CLEF AND

             DECES.EV_IND_TYPE = 'DEAT') AND

            (NAISSANCE.EV_IND_KLE_FICHE = :I_CLEF AND

             NAISSANCE.EV_IND_TYPE = 'BIRT')

    into

            :DATE_DECES,

            :DATE_NAISSANCE;

    if ((DATE_DECES IS NULL) or (DATE_NAISSANCE IS NULL)) then

       BEGIN

          AGE = 0;

       END

    ELSE

       BEGIN

          AGE = (DATE_DECES -  DATE_NAISSANCE);

       END

  suspend;

end
PCM
 

Hors ligne Bruno T.

  • Administrateur
  • AncestroGrandMaitre
  • *****
  • Messages: 4 599
  • Remercié: 66 fois
    • Notre Généalogie
  • Programme: 1998.1.6 - dev: 2001.3.16
  • Base: 5.131 emb/serv
  • Système: w10x64
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #35 le: 13 Mai 2005 à 08:09:33 »
Bonjour Philippe,

Pour AGE_INDIVIDU, c'est bon, j'avais identifié, et je l'avais modifié.

Ce qui me manque, c'est dans le code de individu, tu as modifié la gestion au moment de l'affichage, notamment en cas d'individu non décédé, et de plus c'est la qu'il faut intervenir si on veut le faire progresser.
Téléchargez des images supplémentaires pour Ancestr'Arbres Images au choix enrichissez en ajoutant les votres
A+    Bruno
                                                                                               
 

Hors ligne Ransac

  • Modérateur Global
  • AncestroGrandMaitre
  • *****
  • Messages: 3 015
  • Remercié: 1 fois
    • bases des villes
  • Programme: 2015-1996.3
  • Base: 5.131
  • Système: Windows vista, Windows 7, Windows 10
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #36 le: 18 Mai 2005 à 18:48:50 »
je ramème les anomalie au goût du jour afin qu'on ne les oublie pas et que PCM puisse prendre connaissance des décisions que nous avons prises pour lui !  :wink:
N'oubliez jamais que le mieux est l'ennemi du bien  et que la perfection n'est pas de ce monde !
Les définir est un défi, les réaliser est un leurre !    ... mais on aimerait tellement y croire!
 

Hors ligne Horemans

  • AncestroSenior
  • *****
  • Messages: 1 775
    • http://perso.wanadoo.fr/philippe.horemans
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #37 le: 19 Mai 2005 à 19:07:41 »
J'ai du mal a rattraper la lecture du forum après 15 jours d'absence.



J'ai voté pour le point 3, mais pour moi la solution actuelle n'est pas un souci. Elle donne un ordre de grandeur qui me convient bien et je trouve qu'il y a des modifs plus importantes qui sont moins débattues.
Plus çà va, plus je me régale...  Et avec  Quisontils, la gestion des actes, c'est facile !   Philippe
 

Hors ligne Ancestrologie

  • AncestroGrandMaitre
  • *******
  • Messages: 5 083
  • Remercié: 3 fois
    • Ancestrologie
  • Programme: 1995
  • Base: 5.130
  • Système: Windows 8
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #38 le: 27 Mai 2005 à 18:42:59 »
c est réparé sur la beta 302
PCM
 

Hors ligne DarkProject

  • AncestroJunior
  • ****
  • Messages: 366
[Réalisé ß303] Anomalie 20 : calculs de l'age et affichage
« Réponse #39 de la page précédente: 27 Mai 2005 à 19:20:49 »
Une petite remarque sur le nouvel affichage de l'âge ; pour ma fille de 15 mois voici ce qui apparaît sur sa fiche individuelle :

[ Image 1 ]

mais ceci ne se produit pas pour mon fils de 3 ans et demi :?: et les adultes (d'aprés mes constatations !) sont bien renseignés également...
Éric

Configuration  :
Windows 7 32 bits Edition Familiale Premium SP1,
Intel Core i5 650,
4 Go de Ram,
Ancestrologie [2011.0.0.1532]
Arbres 2009.2.0.12
CréationWeb 2.4