Bon, je ne demande pas mieux que de vous aider, car j'aurai vraiment l'impression d'avoir bossé pour rien si cette fonction n'était pas utilisée. (Cà s'appelle aussi "pisser dans un violon")
Pour les différents paramètres je vous demande seulement de vous reporter à mon message
http://www.ancestrologie.org/forum/index.php?topic=5649.0 afin de me pas me répéter. Depuis ce message, il n'y a que le paramètre VERBOSE qui a été ajouté en dernière position et j'en parle dans le premier message de ce fil.
Dans la fenêtre qui permet d'interfacer la procédure, les cases à cocher permettent de définir les différents paramètres, et la chaîne requête complète apparaissant en bas de la fenêtre peut être modifiée avant d'être exécutée. Ceci permet en particulier d'utiliser des fonctionnalités plus évoluées; constituer un autre groupe que le N°1, ou faire la sélection à partir d'un autre individu que celui présent à l'écran. Il est aussi possible de copier la requête dans le presse papier, (Ctrl+C) et de la copier dans le BOA pour la modifier et l'exécuter; ceci permet en particulier de voir tous les messages d'informations (nombre d'individus dans la dernière sélections, dans le groupe, individus de l'ascendance se trouvant dans la sélection alors qu'on ne recherche que les descendants, etc...). L'apparition de ces messages est liée au dernier paramètre VERBOSE qui est obligatoirement à 'N' pour l'exécution depuis l'interface (l'interface n'accepte qu'une seule ligne d'information en retour). Il peut être à 'Y' dans le BOA.
Quelques explications sur les principes de la procédures aideront peut-être mieux à comprendre comment l'utiliser.
Elle utilise une table temporaire TQ_ASCENDANCE. Dans cette table les individus sont repérés par la CLE_FICHE et un N° de groupe.
Dans l'utilisation normale, selection d'un ensemble d'individus pour sa suppression ou l'élagage (suppression des individus du dossier qui n'appartiennent pas au groupe), cette notion de groupe n'est pas utilisée. C'est pourquoi l'interface ne prévoit pas de le changer facilement. Par contre on pourrait très bien envisager d'autres utilisations, par exemple de comparer 2 groupes d'individus, ce qui ne pourrait se faire que par requêtes.
Quand un individu est placé dans cette table, la procédure va y ajouter tous les autres individus qui ont un lien avec lui, le père, la mère, les enfants , les conjoints. Si la sélection des témoins est demandée (TEMOINS='Y'), elle va y ajouter, tous les témoins des évènements individuels et familiaux, ainsi que tous les autres individus dont l'individu de départ a été le témoin. La même opération recommence ensuite pour chacun des individus se trouvant déjà dans la table et ainsi de suite, créant une sorte de foisonnement, jusqu'à ce qu'il n'y ait plus personne à sélectionner.
Ce fonctionnement est celui quand on a choisi le MODE='B' correspondant à la sélection de tous les individus ayant un lien avec l'individu de départ.
En MODE='A' où on ne recherche que les ascendants. Dans ce cas, les individus mis initialement dans la table sont le père et la mère de notre individu et dans le premier "ajout" les enfants de ces derniers ne sont pas recherchés (sans celà on ajouterait l'individu de départ). Le "foisonnement" est alors appliqué par le suite à la sélection, avec cependant une restriction si STRICTE='Y'. Dans ce cas selon exclus de la sélection les descendants de l'individu de départ et leurs conjoints. Si STRICTE='N', ces descendants ne seront pas supprimés de la sélection, mais seront listés (à condition que VERBOSE='Y', donc uniquement dans le BOA).
Le fonctionnement est symétrique en MODE='D' pour sélectionner la descendance.
Donc la valeur de STRICTE n'a aucune importance dans le MODE='B'.
Méfiance dans l'utilisation de la sélection des témoins, surtout quand il est prévu de supprimer la sélection, car ces témoins pouvant appartenir à une autre famille, peuvent constituer un pont permettant au foisonnement de sélectionner les 2 familles.
On voit aussi que des ancêtres implexes peuvent constituer des ponts qui étendent la sélection plus que prévu.
L'utilisation de STRICTE='Y' ne constitue pas une sécurité absolue. Dans la recherche de l'ascendance (MODE='A') expliqué ci-dessus, il n'est pas impossible que des ascendants de conjoints de descendants soient supprimés. (je sais, çà demande de la concentration).
C'est pourquoi il faut copier la base avant de supprimer. Et que je préfèrerai que Philippe mette le paramètre EFFET à 'A' par défaut.
Maintenant un exemple typique d'utilisation. Il arrive que l'on enregistre dans sa généalogie des individus que l'on croit faire partie de la famille. Puis de s'apercevoir qu'il n'en est rien. Cet enregistrement peut aussi provenir de la récupération d'un gedcom dont une seule partie est intéressante. Après avoir créé les liens avec les individus intéressés, il suffit de sélectionner un groupe complet à partir d'un membre éminent de la famille "SOI-MEME"
par exemple et de l'élaguer. On supprime ainsi tous les membres étrangers à sa généalogie. Une super procédure orphelin en quelque sorte.
Autre exemple: supprimer tous les ascendants des conjoints de vos enfants avant de passer votre généalogie à d'autres membres de la famille. (Cà c'est pour les papys)
Pour le reste, je suis sûr que vous ne manquerez pas d'immagination.
A+
André
PS:
Quand on élimine une ascendance, les branches cousines sont-elles bien éliminées.
Il découle du principe de sélection par foisonnement que la réponse est oui.