forum Ancestrologie
Ancestrologie - Le Programme => Ancestrologie - Rapports d'anomalies => Discussion démarrée par: Josée le 29 Août 2008 à 16:15:17
-
Bonjour à tous,
Depuis les versions 800 ou 810, j'ai remarqué un "petit problème" qui concerne l'un de mes sosas. Ce monsieur est affublé d'une conjointe "Inconnue", en plus de sa conjointe "normale" (sosa) dans le répertoire, alors que sa fiche est tout à fait correcte et ne mentionne bien qu'une conjointe ; lorsque je clique sur cette "Inconnue" je reviens directement à la fiche de mon sosa ; j'ai également remarqué que cette "Inconnue" n'était pas précédée d'un tiret. Y-a-t-il un moyen de supprimer cette "Inconnue" du tableau Conjoint et Enfant du répertoire ?
Merci de votre aide
Cordialement
Josée
-
Bonjour,
Lorsqu'un enfant est rattaché à un père (la réciproque est vraie), sans qu'il soit déclaré de mère à cet enfant, une union (famille au sens gedcom) est créée avec uniquement un père.
Dans l'arbre de descendance du répertoire ou de l'index des noms, comme dans l'arbre hiérarchique, cette mère absente (on ne peut pas dire qu'elle n'a pas existé :wink:) est remplacée par le mot "Inconnue", mais celà ne signifie pas que l'individu "Inconnue" existe.
Normalement si la mère est ensuite déclarée, cette union devrait disparaitre.
La présence de cette inconnue n'est une erreur que si aucun enfant n'y est rattaché.
A+
André
-
Bonjour André,
j'ai bien suivi ! Ce monsieur a bien un enfant et cet enfant a bien une mère ! (la sosa)
Alors, peut-on supprimer l'"Inconnue" ?
a+
Josée
-
Bonsoir,
Si vous êtes sure que ce monsieur n'a pas d'autre enfant sans mère déclarée, on peut envisager de supprimer l'enregistrement UNION en cause.
Mais pour celà commencez par sauvegarder votre base, on ne sait jamais, il est prudent de pouvoir revenir au point de départ.
Simplement pour informations commencez par exécuter dans le BOA la requête suivante:
select u.*
from t_union u
where (not exists (select * from individu where cle_fiche=u.union_mari)
or not exists (select * from individu where cle_fiche=u.union_femme))
and not exists (select * from individu
where cle_pere is not distinct from u.union_mari
and cle_mere is not distinct from u.union_femme)
Cette requête retourne des résultats; il faut donc cliquer sur "Exécuter requête" pour l'exécuter.
Dans les résultats vous devriez retrouver sous UNION_MARI votre mari avec femme inconnue (UNION_FEMME nul), identifié par son code (ou NIP) .
S'il y a d'autres enregistrements, il est intéressant de les vérifier en sélectionnant la fiche du mari ou de la femme connu par son code (recherche par NIP), en vous plaçant auparavant dans leur dossier. Et éventuellement de les corriger, car il n'est pas rare d'avoir oublié le lien avec un père ou une mère.
Vous pouvez ré-exécuter la même requête pour contrôler.
Une fois tout corrigé vous pouvez exécuter la requête suivante:
delete from t_union
where union_clef in
(select u.union_clef
from t_union u
where (not exists (select * from individu where cle_fiche=u.union_mari)
or not exists (select * from individu where cle_fiche=u.union_femme))
and not exists (select * from individu
where cle_pere is not distinct from u.union_mari
and cle_mere is not distinct from u.union_femme))
Comme elle ne retourne pas de résultats, il faut cliquer sur "Exécuter procédure" pour l'exécuter.
Elle a normalement supprimé tous les enregistrements listés précédemment.
Tant que vous êtes dans le BOA, par son menu "Mises à jour de masse"/ "incohérences de la base" listez et corrigez des cohérences qui pourraient exister dans votre base.
Voilà, il n'y a plus qu'à contrôler.
A+
André
-
Bonjour André,
J'ai bien exécuté la requête que vous m'avez adressée : j'ai 8 enregistrements bizarres et ai réussi à en résoudre 2 pour l'instant. Votre requête génère un tableau, pouvez-vous m'en expliquer la signification ?
D'abord, il y a une colonne Union Clé avec des numéros : ex : 386, 12026, etc... à quoi ces n° correspondent-ils ?
Puis il y a une colonne Union Mari et une colonne Union Femme : Dans ces colonnes, on retrouve des NIP d'individus ou même des NIP qui n'existent pas (soit dans la colonne mari, soit dans la colonne femme) ?
Enfin, il y a une colonne Union Type avec des "0" et une colonne avec le dossier (1 pour moi).
Je vous tiens au courant de la suite et vous remercie encore pour votre aide.
Cordialement,
Josée
-
Bonjour,
La première requête visualise des enregistrements de la table T_UNION dans lesquels le mari ou la femme n'existent pas dans la table INDIVIDU, et pour auxquels aucun enfant n'est relié.
UNION_CLEF est le code de cette union (ou famille au sens gedcom), identificateur unique dans toute la table T_UNION.
Méfiance pour les NIP dont vous dites qu'ils n'existent pas. Etes-vous sure qu'ils n'existent pas dans un autre dossier?
Dans la table T_UNION ne devraient exister que des unions dont le mari et la femme existent dans le même dossier. La seule exception, c'est lorsqu'un homme ou une femme a un (ou des) enfant et que le conjoint est inconnu. Dans ce cas il est créé une union où ce conjoint inconnu à un NIP null, et le conjoint connu ne peut appartenir qu'à une seule union de ce type.
Je vois que vous êtes inscrite depuis début 2005. Si vous avez commencé votre généalogie à cette époque, je ne suis pas étonné par ces anomalies. Le programme n'a été corrigé que début 2006.
L'option du BOA "Mises à jour de masse"/ "incohérences de la base" doit en corriger une bonne part, quitte à exécuter 2 fois la fonction.
Vous pouvez aussi les supprimer directement en exécutant une requête comme:
delete from t_union where union_clef= (le n° de l'union à supprimer)
Ces anomalies sont rarement visibles depuis les divers écrans (à part le cas de l'inconnue que vous signaliez), et ont généralement peu d'influence sur le fonctionnement.
UNION_TYPE a été supprimé de l'onglet Unions car non conforme à la norme gedcom, et remplacé par des compléments dans la désignation de l'événement familial quand l'information présentait un intérêt.
A+
André
-
Bonjour Josée,
Bonjour André,
J'avais exactement le même problème, decouvert lors de l'établissement d'une monographie avec Filiatus. J'avais donc, à tort, suspecté Filiatus de m'avoir créer une union fictive.
En appliquant la première requête, j'ai decouvert que 8 personnages avaient été affectés par ce problème. Les 8 fiches ont été créées le 12 et 13 aout 2006 et lorsque je clique sur ces inconnues pour en ouvrir les fiches, c'est la dernière fiche que j'ai créée ce matin qui s'ouvre (fiche sans conjointe mais avec un enfant et qui n'a rien à voir avec les précédentes).
La seconde requête a remis de l'ordre dans mes fiches.
Merci Josée d'avoir soulevé le problème et merci à André pour cette nouvelle intervention fort à propos
Cordialement
-
Bonjour André, bonjour Michel,
C'est avec beaucoup de retard que je remercie André pour ses deux requêtes ainsi que ses explications, qui sont venues à bout de mes petits soucis.
A présent j'en ai d'autres, avec mon anti-virus (Trend Micro), qui, vendredi, a détecté un trojan là où il n'y en avait pas et a complètement bloqué mon système d'exploitation. Désespérée, je vous contacte donc par l'intermédiaire de l'ordi de mon mari sur lequel, fort heureusement, j'ai Ancestrologie.
Encore merci. Cordialement,
Josée