olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20105 12 sept. 2008 à 07:39
Salut
Pour moi le principe de base c'est précisément qu'un numéro ne peut pas etre réutilisé !
Si tu supprime l'enregistrement 25 parmi 100 tu ne peux pas rajouter un novel element qui portera l'ID 25 dans le concept de PK auto-increment
Il y a sans doute moyen de bricoler si c'est le dernier, mais je n'ai jamais tenté la chose et je te conseille vivement d'eviter par ta logique en amont d'avoir a faire ce genre de chose !
Ou alors ce n'est plus une PK auto-increment mais un ID dont tu gere entierement la logique de numerotation !
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202114 12 sept. 2008 à 18:49
Bonsoir,
avec access..hummm, mieux vaut s'en tenir à incrément auto ou pas d'incrément du tout (mais moins bon qd même)
avec une base SQL, on peut renuméroter le dernier, par programmation.
Mais, on peut aussi, dans tous les cas, laisser un incrément automatique et créer un autre champ Numero (integer) et faire ce qu'on veut avec et rendre invisible la clé primaire.
cs_thierry la fronde
Messages postés351Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention12 août 2009 12 sept. 2008 à 20:19
bonsoir,
je suis d'accord avec tout le monde.. ceci dit, quel est l'intérêt de réutiliser la même clé??
Une petite remarque : L'auto incrément je le déconseille pour des applications types factures.. je préfère une numérotation aléatoire pour ne pas influencé le client (par exemple..)
thierry la fronde
Vous n’avez pas trouvé la réponse que vous recherchez ?
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20105 12 sept. 2008 à 22:30
L'exemple de Thierry la Fronde illustre tres bien la distinction parfois nécessaire entre une clef identifiante unique INTERNE et un identifiant EXTERNE dont la semantique et la gestion peut etre différente
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202114 12 sept. 2008 à 23:01
je préfère une numérotation aléatoire..
oui alors, il faut pas pousser le bouchon trop loin, car les numéros devront néanmoins être différents à chaque fois, ce qui oblige à tous les tester..
j'imagine une table (en réseau) de 100 000 factures avec des numéros aléatoires dans laquelle il faut créer le 100 001 ème différent des 100 000 premiers..
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202114 14 sept. 2008 à 13:12
ça m'étonnerait que tu aies 2 fois le même..
un programme de compta qui prendrait pour clé primaire la
date/heure + ms...???
Original, mais je demande à voir, car comme sécurité..c'est douteux..
si l'utilisateur change la date et l'heure du micro..
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 14 sept. 2008 à 15:17
euh pas comme clé primaire juste comme numéro de facture
quand à changer la date system c'est vrai qu'il faut toujours penser au pire avec les "utilisateurs"
cs_alpamayo
Messages postés16Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention22 septembre 2010 18 sept. 2009 à 17:03
c'est intéressant, mais ça fait pas trop avancer le problème
je pense avoir le même problème : si je crée un élément que je supprime derrière et que je le recrée, Access est passé à n+2 alors que le dataAdapter de .net est resté à n+1...
j'ai résolu en attendant mieux en retirant mon autoincrément et en faisant un insert avec
INSERT INTO Article ( IdArticle ) SELECT Max(IdArticle)+1, FROM Article
Mais si quelqu'un a une meilleure solution je suis preneur
cs_alpamayo
Messages postés16Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention22 septembre 2010 19 sept. 2009 à 15:02
dans ce cas c'est clair : tu oublies Access...
plus sérieusement, j'aimerais bien avoir une solution en conservant l'autoincrément mais je n'en ai pas et faire un Fill après chaque insert me parait trop pénalisant
cs_alpamayo
Messages postés16Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention22 septembre 2010 21 sept. 2009 à 08:44
pour la réponse à la première question de ce topic, voir une solution sur http://support.microsoft.com/kb/287756/fr, permettant de changer l'origine de l'autoincrément,
c'est à manier avec précaution, pour ma part j'ai préféré ne pas l'utiliser