forum Ancestrologie

Ancestrologie - Le Programme => Ancestrologie - Rapports d'anomalies => Discussion démarrée par: PateDany le 03 Juin 2006 à 08:23:31

Titre: Import Gedcom
Posté par: PateDany le 03 Juin 2006 à 08:23:31
Bonjour de la Provence,



Après un formatage disque dur et tout ce qui suit, installation d' ancestrologie v520 b4.017, pas de prob.

Par contre sur l'import de ma base (3000 pers.) venant de geneanet en format Gedcom, j'ai constaté deux petites anomalies:

1. en type d'union, tous mes couples sont en statut inconnu !! alors qu'ils étaient tous corrects auparavant.

2. Sur de très nombreuses fiches, en évenements de vie, il est noté: Décès: cet évenement ne contient aucune information !!!!



Pouvez-vous me conseiller pour régler ces prob. mineurs.

Remerciement pour vos conseils, et bonne recherche à tous.
Titre: Import Gedcom
Posté par: DDdeBerdeux le 03 Juin 2006 à 09:20:26
Bonjour de Bretagne,

Un spécialiste du gedcom serait plus à même de vous répondre, mais au moins pour le point 1, celà doit venir d'une anormalité (dans le sens de non respect de la norme gedcom) d'ancestrologie. J'ai cru comprendre que cette information était transportée par un tag TYPU qui est propre à ancestrologie, donc pas géré par geneanet.

Pour le point 2, c'est sans doûte un évenement créé automatiquement par geneanet lorsque l'individu dépasse un certain âge, et qu'il n'a pas d'évenement décès déjà créé.

A+

André

PS: vous devriez utiliser utiliser la dernière version officielle de la base b4.031.
Titre: Import Gedcom - Evènement décès vide
Posté par: Gwen82 le 17 Février 2009 à 00:59:54
Bonjour à tous,

Je me permet de relancer ce post car c'est celui qui s'en rapproche le plus.

Suite à l'import d'un gedcom, j'ai l'évènement Décès où apparaît: "Cet évènement ne contient aucune information !!!!", partout là où la date du décès est inconnue.

J'aimerais pouvoir supprimer tout ces évènements vides, afin de conserver ma base propre.
Je pense que la requête SQL ne doit pas être très compliquée, mais je n'arrive à trouver la bonne requête.

Voici mon début de requête pour supprimer les évènement décès vide :
update evenements_ind e
set ev_ind_date=null
where ev_ind_kle_dossier=5
and ev_ind_type='DEAT'
and ev_ind_date=null

Merci d'avance, à ceux qui voudront essayer de m'aider.
Gwen
Titre: Import Gedcom
Posté par: misery gilbert le 17 Février 2009 à 09:36:08
Bonjour,
Si j'ai bien compris la question, il suffit d'aller sur l'évènement en question, clique droit et supprimer l'évènement.
Titre: Import Gedcom
Posté par: Sauvage le 17 Février 2009 à 09:42:53
Bonjour Gwen,
bien que n'étant pas un grand spécialiste, il me semble que ta requête est complètement inefficace car elle consiste à mettre à null le champ ev_ind_date lorsqu'il est ...déjà null!! :?:

Je te propose :
DELETE FROM EVENEMENTS_IND
WHERE (EV_IND_KLE_DOSSIER = 5) AND
  (EV_IND_DATE IS NULL) AND
  (EV_IND_TYPE = 'DEAT')

Bien entendu faire une sauvegarde de la BDD avant!

Tu peux regarder http://sqlpro.developpez.com/cours/sqlaz/dml/ pour t'informer sur sql

Bye
Titre: Import Gedcom
Posté par: Gwen82 le 17 Février 2009 à 16:04:23
Bonjour,

C'est parfait, j'ai fait un test sur une base 'brouillon' et ça marche nickel  :grin:
nb: j'espérai qu'en mettant ev_ind_date à null, cela supprimerai l'évènement décès   ::)

Si j'ai bien compris ta requête, elle supprime donc l'évènement DECES, dès que la date du décès est vide : c'est exactement ce que je voulais, merci beaucoup.

Avant de l'appliquer définitivement sur ma 'vraie' base, est-ce qu'il serait possible d'exclure la suppression de l'évènement DECES, si celui contient une villle/lieu, une note ou encore une source ?
Ou bien alors d'afficher, toutes les infos (ville, note, source) de l'évènement DECES pour vérification, avant d'exécuter ta requête.

Gilbert: tu as tout à fait raison, mais je souhaitais l'appliquer à toute ma base  ;)

Amicalement,
Gwen
Titre: Import Gedcom
Posté par: Sauvage le 17 Février 2009 à 19:44:17
Bonsoir Gwen, tu dis :
nb: j'espérai qu'en mettant ev_ind_date à null, cela supprimerai l'évènement décès
il faut savoir que la requête 'update ne supprime rien, mais met à jour un(des enregistrements(s) dans une table.

Pour t'informer du contenu de la table  avant la suppression des événements tu peux faire:
SELECT * FROM EVENEMENTS_IND
WHERE EV_IND_KLE_DOSSIER = 5
 AND  EV_IND_TYPE = 'DEAT'
 AND  EV_IND_DATE IS NULL

Puis après analyse du résultat et réflexion tu peux détruire les enregistrements voulus par:
DELETE FROM EVENEMENTS_IND
WHERE EV_IND_KLE_DOSSIER = 5
  AND  EV_IND_TYPE = 'DEAT'
  AND  EV_IND_DATE IS NULL
  AND  EV_IND_DATE_WRITTEN IS NULL << tu ajoutes autant de conditions que tu le souhaites

J'espère avoir répondu à ta demande
Jacques
   




 

Titre: Import Gedcom
Posté par: Gwen82 le 17 Février 2009 à 20:25:52
Bonsoir Jacques,
OK pour la précision de l'UPDATE  :???:

Tes 2 requêtes ont parfaitement fonctionnées !

NB: je voyais pas trop la différence entre DATE et DATE_WRITEN, en faisant quelques tests, j'en ai conclus que:
DATE est nul quand la date est incomplète
DATE_WRITEN correspond à la date inscrite (1895, avant 1895, entre le X et le Y)

Merci beaucoup de ton aide, c vraiment sympa de m'avoir aidé  ;)
Gwen
Titre: Import Gedcom
Posté par: Gwen82 le 17 Février 2009 à 21:28:20
Sans vouloir abuser de votre gentillesse, j'aimerais aussi créer une autre requête pour laquelle j'ai déjà posté un message (voir http://www.ancestrologie.org/forum/index.php?topic=10285).

Elle est sûrement un peu plus compliquée, mais elle me serait bien pratique  :smile:

Pour résumer, cela reviendrait à lister tous les individus pour lesquelles il n'existe aucun ancêtre SOSA.
(attention, je ne cherche pas à lister les individus sans SOSA, mais bien tout ceux pour lesquels aucuns de leurs ancêtres ne font partie de mes ancêtres).

Si vous pouviez m'éclairer un peu sur la requête à rédiger, ce serait vraiment sympa.
A une prochaine,
Gwen