Ancestrologie - Le Programme > Ancestrologie - Suggestions

Eviter les doublons de Clé Lien Externe Quisontils/Ancestro

(1/1)

Horemans:
A l'attention de PCM

Pour éviter les doublons, il faudrait qu'après un réimport gedcom, lors de la création d'un nouvel individu, la clé lien externe (CLE_FIXE) soit égale au NIP suivant, comme actuellement, mais en ajoutant une constante qui serait égale à la plus grande clé lien précédemment affectée et utilisée dans Quisontils. Tout doublon serait alors impossible.



Quisontils est maintenant capable de donner la plus grand clé lien déjà utilisée.

Il suffit d'aller dans préférences générales/Liens externes/Régénérer les listes des clés de tous les albums.



Cette constante pourrait être introduite manuellement dans les préférences d'Ancestrologie, aussitot l'import gedcom de restauration. Elle reste à zéro tant qu'il n'y a pas d'import gedcom de restauration.

DDdeBerdeux:
Je pense qu'il y a plus simple. Les seules contraintes sont:

la clé fixe doit être unique,

lors d'un import, elle ne doit pas changer, sauf si la clé existe déjà.

Il suffirait donc lors de la création (que ce soit interactivement ou lors d'une importation), de vérifier que la clé n'existe pas déjà et si elle existe, d'en rechercher une nouvelle et pourquoi pas, à partir de 1.

Cà peut être fait par un trigger "before insert" et un autre "before update" sur la table des individus.

A+

André

Horemans:
Techniquement, je m'incline.

L'essentiel, c'est que la clé lien reste unique, et stable quelles que soient les opérations d'import export, sauvegarde restauration qui sont effectués sur la base.

Ce n'est actuellement pas le cas, toute sauvegarde autre que celle du fichier .BDD n'assure pas la continuité du lien avec Quisontils.

DDdeBerdeux:
J'ai mis une solution par les triggers dans le forum Développement, fil "Corrections et améliorations des procédures stockées".

A tester.

A+

André

Navigation

[0] Index des messages

Une erreur s'est produite lors du remerciement
Remerciement...
Utiliser la version classique