Jean-Francois Nifenecker a écrit :
cjfj wrote:
Bonjour
Dans une table de ma base de données, j'ai un champ avec une valeur
automatique. Chaque enregistrement est ainsi numéroté automatiquement.
Si je supprime un enregistrement, le prochain que je saisirai ne
reprendra
pas le numéro de celui supprimé, mais un nouveau numéro. Je me trouve
donc
avec des trous dans ma numérotation.
Existe-t-il une solution ?
Est-il également possible de réinitialiser la numérotation à partir du
numéro 1 ?
Bonjour,
je crois qu'il y a la une erreur (assez commune je pense) sur ce
qu'est un AutoInc (entier dont la valeur est automatiquement
incrémentée d'un enregistrement au suivant).
Ce type de champ n'a d'intérêt que dans le liaison des tables entre
elles, pour réaliser l'intégrité référentielle, entre autres. En
d'autre termes, les AutoInc's n'ont pas (ne DEVRAIENT pas avoir) de
signification par rapport aux données contenues dans les tables.
Si ton besoin est d'affecter des numéros séquentiellement (ex : des
numéros de factures), alors je conseillerais l'usage d'une table
dédiée qui fournirait les valeurs en question. Reste à gérer les cas
tels que celui que tu cites : que faire si... Je pense qu'on arrive
alors vite aux limites de ce que l'on peut faire décemment avec un
outil comme OOo (avec tout le bien que j'en pense) et un "vrai" RDBMS
accédé en programmation pure (ex : Delphi et MySQL ;)
En espérant avoir répondu à la question,
Je ne saurais qu'approuver cette réponse claire et précise !
Les numéros séquentiels sans trou doivent en effet être gérés côté
logique métier de ton application, et non directement dans la base de
données.
Pour compléments des outils possibles :
PHP / Mysql
Java / Postgresql
et pourquoi pas Ooo Base : il faut par contre écrire les fonctions qui
géréront l'attribution des numéros en OpenOffice Basic.
Franck
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]