Auteur Sujet: Recherche parenté  (Lu 2092 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne JRFloquet

  • AncestrArbres -Test
  • AncestroExpert
  • *****
  • Messages: 414
    • Ma genealogie sur Geneanet
Recherche parenté
« le: 10 Mai 2008 à 06:30:47 »
André ou une spécialiste peut-il créer une requête pour rechercher les ancêtres communs à deux voir plusieurs individus et obtenir une liste.
Cordialement

JR
----------------------------------------------------
PC de bureau HP - Core i5 - RAM 06 Giga - Windows 10 - 64bits
PC portable HP - Core i3 - RAM 06 Giga  - Windows 10 - 64bits
Tablette androïde - nexus 7 - version 5.0.1.
 

Hors ligne Horemans

  • AncestroSenior
  • *****
  • Messages: 1 775
    • http://perso.wanadoo.fr/philippe.horemans
Recherche parenté
« Réponse #1 le: 10 Mai 2008 à 09:14:45 »
Dans CreationWeb / Paramétrage des pages Web / Implexes, tu auras ce que tu recherche en cochant "Génération de la page des implexes.
Je pense que la licence CreationWeb est nécessaire.
Une requête dans le BOA serait évidemment plus souple.

Le programme GenealogicaGrafica (presque gratuit) donne un diagramme des ascendants communs à 2 individus ou plus, dans le menu Graphes/Diagramme de parenté
Plus çà va, plus je me régale...  Et avec  Quisontils, la gestion des actes, c'est facile !   Philippe
 

Hors ligne DDdeBerdeux

Recherche parenté
« Réponse #2 le: 10 Mai 2008 à 10:21:02 »
Et dans Ancestrologie, tout au moins la base, il y a une procédure que j'avais concoctée il y a déjà pas mal de temps dans ce but. En voici l'entête:
PROCEDURE PROC_ANC_COMMUNS (
    INDIVIDU INTEGER,
    INDIVIDU2 INTEGER)
RETURNS (
    COMMUN INTEGER,
    ENFANT_1 INTEGER,
    NIVEAU_MIN_1 INTEGER,
    ENFANT_2 INTEGER,
    NIVEAU_MIN_2 INTEGER)
AS
begin
/*Procédure créée par André. Dernière modification: 02/08/2007
Cette procédure liste les ancêtres communs à 2 individus. INDIVIDU et INDIVIDU2
ENFANT_1 et ENFANT_2 sont les enfants de l'ancêtre à l'origine de la branche
arrivant respectivement à INDIVIDU et INDIVIDU2. NIVEAU_MIN_1 et NIVEAU_MIN_2
sont les nombres de générations minimum séparant respectivement INDIVIDU et
INDIVIDU2 de l'ancêtre en passant par les branches issues de ENFANT_1 et ENFANT_2.
Si INDIVIDU2 est nul (zéro), les ancêtres communs aux parents de INDIVIDU sont recherchés.
Les nombres de générations sont celles qui séparent INDIVIDU de son ancêtre par
chacune des branches paternelle et maternelle.*/
Cette procédure référençant les individus par leurs code (NIP), il faut faire les jointures avec la table INDIVIDU pour afficher les noms et prénoms, comme ci-dessous:
select
(select nom||coalesce(', '||prenom,'')||' NIP: '||cle_fiche
 from individu where cle_fiche=p.commun) as ANCETRE
,(select p.niveau_min_1||' générations par '
  ||nom||coalesce(', '||prenom,'')||' NIP: '||cle_fiche
  from individu where cle_fiche=p.enfant_1) as PAR_ENFANT_1
,(select p.niveau_min_2||' générations par '
  ||nom||coalesce(', '||prenom,'')||' NIP: '||cle_fiche
  from individu where cle_fiche=p.enfant_2) as PAR_ENFANT_2
from  proc_anc_communs(291,0) p
order by p.niveau_min_1
Mais vous allez constater que si votre famille s'est peu déplacée, comme dans le diagramme des ascendants dont parle Horemans, celà devient rapidement un vrai sac de noeuds difficile à comprendre. Aussi la requête suivante donne uniquement les noms de ces ancêtres communs:
select distinct
(select nom||coalesce(', '||prenom,'')||' NIP: '||cle_fiche
 from individu where cle_fiche=p.commun) as ANCETRE
from  proc_anc_communs(291,0) p
order by p.niveau_min_1
Dans les requêtes exemples ci-dessus, j'ai recherché les ancêtres communs à l'individu 291. Il faut donc remplacé ce code par celui du votre, et si vous recherchez les ancêtres communs à cet individu et un autre, remplacez "0" par le code de ce dernier.
A+
André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne JRFloquet

  • AncestrArbres -Test
  • AncestroExpert
  • *****
  • Messages: 414
    • Ma genealogie sur Geneanet
Recherche parenté
« Réponse #3 le: 10 Mai 2008 à 13:52:36 »
Merci,
les procédures 2 et 3 me vont bien.

Cordialement

JR
----------------------------------------------------
PC de bureau HP - Core i5 - RAM 06 Giga - Windows 10 - 64bits
PC portable HP - Core i3 - RAM 06 Giga  - Windows 10 - 64bits
Tablette androïde - nexus 7 - version 5.0.1.