Carte du site
 Remerciements
 Netiquette
 Bugs
 Tables
 Requêtes
 Formulaires
 États (rapports)
 Modules
 APIs
 Chaînes
 Date/Time
 Général
 Ressources
 Téléchargeables

 Termes d'usage

General: Utiliser l'Autonumber de la bonne façon

Author(s)
Keri Hardwick

Utiliser l'Autonumber de la bonne façon.

(Q)     Dans une table, j"utilise l'Autonumber comme clé primaire. Mais si l'utilisateur entre un nouvel enregistrement et ferme le formulaire sans sauvegarder, le champ a quand même augmenté de un et laissera un trou. Comment puis-je:

(a)  empêcher l'Autonumber d'augmenter de un si l'enregistrement ne fut pas créé et
(b)  forcer une renumérotation de ce champ de sorte que la suite de nombre soit continue, même si j'ai effacé des enregistrements de la table?

(A)   Il n'y a pas de "numéro d'enregistrement" en Access.

Les enregistrements sont sans séquence dans  une table. Les indexes et les requêtes permettent de voir ces paquets dans un certain ordre, mais dans la table-même, ce ne sont que des "paquets".

L'Autonumber est simplement une façon de créer une valeur. Il ne doit pas être utilisé comme donnée ayant une autre signification.

S'il vous faut une séquence de nombres avec signification (tel qu'un numéro d'utilisateur), il est préférable de la créer et de la gérer soi-même. Vous devez cesser d'utiliser l'Autonumber et créer votre propre séquence que vous incrémenterez lorsque l'enregistrement sera sauvegardé.

Vous pouvez également capturer les nombres d'enregistrements effacés pour les recycler. Cependant, si la possibilité existe d'avoir des enregistrements reliés à ce numéro effacé dans d'autres tables, il peut être préférable de ne pas réutiliser ces nombres.

Maintenant, pour que votre base de données fonctionne proprement, il n'est pas nécessaire que les clés primaires soient des nombres continus, seulement que les valeurs soient uniques. Un autonumber peut aider, mais ne garantit pas, par lui-même que le nombre généré soit unique. Pour être certain de cette unicité, il faut soit en faire une clé primaire, soit y construire une contrainte ou un index ne permettant pas de doublon.

© 1998-2001, Dev Ashish, All rights reserved. Optimized for Microsoft Internet Explorer