Bonjour,
Un exemple d'utilisation de la procédure PROC_ANC_COMMUNS:
Cette procédure a besoin en entrée des "cle_fiche" appelées parfois NIP, numéro d'identification unique d'un individu dans la base.
Ces numéros sont affichés normalement dans le bandeau supérieur de la fenêtre Ancestrologie sous la forme NIP : s-xxxx où s représente le sexe (1 pour les hommes, 2 pour les femmes, 0 si inconnu).
Notez les xxxx des 2 individus dont vous voulez connaître les ancêtres communs, vous en aurez besoin par la suite.
La procédure PROC_ANC_COMMUNS retourne 3 nombres qui sont les cle_fiche:
- de l'ancêtre commun
- de l'enfant de l'ancêtre commun à l'origine de la branche qui mène au premier des 2 individus dont vous cherchez les ancêtres communs,
- de l'autre enfant de l'ancêtre commun à l'origine de la branche qui mène au second des 2 individus.
Comme ces nombres ne vous diront rien, dans la requête j'ai ajouté les jointures avec la table INDIVIDU pour afficher les noms, prénoms et années de naissance de chaque individu dans le même champ.
Ouvrez le BOA par le menu plugins, et sélectionnez l'onglet SQL.
Sélectionnez le texte ci-dessous:select a.nom||' '||coalesce(a.prenom,'')||' '||
coalesce(cast(a.annee_naissance as varchar(4)),'') as Anc_commun
,e1.nom||' '||coalesce(e1.prenom,'')||' '||
coalesce(cast(e1.annee_naissance as varchar(4)),'') as Par_enfant_1
,e2.nom||' '||coalesce(e2.prenom,'')||' '||
coalesce(cast(e2.annee_naissance as varchar(4)),'') as Par_enfant_2
from proc_anc_communs(:NIP1,:NIP2) p
inner join individu a on a.cle_fiche=p.commun
inner join individu e1 on e1.cle_fiche=p.enfant_1
inner join individu e2 on e2.cle_fiche=p.enfant_2
copiez-le dans le presse-papier de Windows, et collez-le à la place du texte "select * from individu where kle_dossier=1" qui est affiché dans le BOA.
Dans le texte ci-dessus, remplacez ":NIP1" par la cle_fiche de votre premier individu, et ":NIP2" par la cle_fiche du second.
Cliquez sur le bouton "Exécuter requête".
La réponse devrait apparaître dans l'onglet "Résultats" du BOA.
Si vos ancêtres n'ont pas beaucoup bougés, les résultats sont parfois surprenant...
En cliquant avec le bouton droit sur la liste, vous pouvez l'exporter dans un fichier texte ou html.
En quittant vous il vous sera demandé si vous voulez valider ou non les résultats; votre réponse n'a aucune importance dans ce cas, puisqu'aucune modification n'a été faite dans la base.
Je n'ai pas ajouté dans cette procédure le nombre de générations qui sépare chaque individu de l'ancêtre commun, car il peut y en avoir plusieurs (si c'est un implexe dans son ascendance), ce qui a pour conséquence de multiplier le nombre de lignes. Peut-être serait-il intéressant de donner le nombre mini? A voir pour une prochaine version de la base?
A+
André