Bonjour,
il m'arrive de temps en temps de voir des FIC dont la rubrique ID Auto "recule". Si vous tentez d'ajouter un enregistrement la clé prendra par exemple la valeur 300 alors que la valeur max existante est déjà de 305 (et parfois l'écart atteint plusieurs centaines d'unités).

Pour ceux qui seraient confrontés au problème, j'ai reçu une réponse du STG de PC SOFT que je vous transmet, si ça peut aider.

"Le calcul du numéro d'identifiant utilise l'entête du fichier Hyper File pour stocker le dernier identifiant utilisé.

L'ajout d'un nouvel enregistrement déclenche les traitements suivants :

1. Lecture du dernier identifiant ID dans l'entête
2. Calcul du nouveau identifiant, ID = ID + 1
3. Ajout du nouvel enregistrement à la fin du fichier
4. Mémorisation de l'identifiant (écriture dans l'entête).

Dans votre cas, si vous n'avez pas utilisé les options hForceIdAuto ou hFixeIdAuto de HAjoute/HModifie, un incident (erreur d'écriture réseau, conflit logiciel, pilote défaillant, versions de client réseau incompatibles, secteurs défectueux d'un disque...) est intervenue entre l'étape 3 et l'étape 4. En conséquence une valeur erronée est stockée pour la prochaine insertion d'un enregistrement.

Dans certains cas, cela peut provoquer une erreur de doublon, ou on peut observer un décalage plus important. Cela s'observe quand le système met l'entête de fichier en cache mémoire. Le cache est mis à jour lors des ajouts, mais la version sur le disque n'est pas à jour.
Afin de permettre l'ajout avec la valeur attendu, il faut exécuter le programme WDOptimiseur avec son option de révision complète. Elle permet de recalculer la bonne valeur pour le prochain ajout, en fonction des données contenues dans le fichier.


Attention, si le défaut réapparaît sur une installation, tant que l'origine exacte de la panne n'est pas déterminée, il faut utiliser le mode de sécurité maximum pour limiter les risques. utilisez pour cela la fonctions HSécurité(2), et préférez une exploitation en mode client/server."