Home
Home

---Soumis par 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, Field as the primary ID.   But if the user creates a new record and closes the form without saving it,  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 pacquets dans un certain ordre, mais dans la table-même, ce ne sont que des "pacquets".

L'Autonumber est simplement une façon de créer une valeur unique, entre les enregistrements de la même table. 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émentrez 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, ce que l'Autonumber vous fourni.