Finalement, vous vous contenteriez peut-être bien d'une simple numérotation (1,2,3,4,5,6,...), non ?


Access vous assène un message d'erreur. En fait NuméroAuto est une sorte de Numérique Entier long.
Du coup, tous vos beaux IDClient que vous avez rempli consciencieusement seraient écrasés par la nouvelle numérotation !
C'est pourquoi Access préfère vous renvoyer un message comme quoi ce n'est pas possible. Eh bien, on va le faire quand-même ! Non mais ! - Supprimez le champ IDClient, ce qui aura pour effet de supprimer ses données, évidemment
- Recréez le même champ IDClient, toujours tout en haut, mais précisez tout de suite que c'est un type NuméroAuto

Lancez la table en mode saisie de données :
Et voilà ! Ils sont numérotés ! Peu importe comment, d'ailleurs, ils
ne sont pas triés par ordre alphabétique, ni rien : l'important est juste que chaque client possède un identifiant unique.
- Bonjour monsieur !
- Bonjour ! Je suis Monsieur Spielberg, et ma commande de 100 Schmilblicks n'est toujours pas arrivée !
- Un instant, je consulte ma base de données Access. Vous savez que j'ai fait beaucoup de progrès ces derniers temps ?
- Heu oui, bon... Mes schmilblicks ?
- Quel est votre numéro de client, monsieur ?
- 4.
- Alors, oui, je vous que vous êtes notre meilleur client, c'est marqué, juste là, sous mes yeux !
- Oui, merci. Bon, vous me racontez votre vie, ou bien vous finissez par me dire où en est cette commande ?!?!
- Je vais voir avec notre service expédition et on vous rappelle immédiatement. A tout de suite, Cher Client !
- Bonjour ! Je suis Monsieur Spielberg, et ma commande de 100 Schmilblicks n'est toujours pas arrivée !
- Un instant, je consulte ma base de données Access. Vous savez que j'ai fait beaucoup de progrès ces derniers temps ?
- Heu oui, bon... Mes schmilblicks ?
- Quel est votre numéro de client, monsieur ?
- 4.
- Alors, oui, je vous que vous êtes notre meilleur client, c'est marqué, juste là, sous mes yeux !
- Oui, merci. Bon, vous me racontez votre vie, ou bien vous finissez par me dire où en est cette commande ?!?!
- Je vais voir avec notre service expédition et on vous rappelle immédiatement. A tout de suite, Cher Client !

Spécificités des NuméroAuto
Vous ne pouvez absolument pas changer un numéro de client à la main. Si vous essayez de modifier 6 en 14 (par exemple), vous subirez un message d'erreur très (trop) discret qui va s'afficher dans la barre d'état (tout en bas de la fenêtre Access).
Le simple fait d'ajouter un client lui attribue le numéro suivant. Entrez Laurent Ruquier :
Numéros ne se suivent pas
Si vous effacez un enregistrement, le numéro est perdu à jamais ! Faisons un test :
- Effacez l'enregistrement Chuck Norris :
- Constatez le "trou" dans les numéros :
- Recréez Chuck Norris dans un nouvel enregistrement (Mais ne l'enregistrez pas - laissez le petit crayon sur la gauche). Il est maintenant numéro 11.
Dans mon cas, j'ai fait une petite erreur, et j'ai dû effacer et recréer mon champ IDClient, ce qui fait qu'il a tout renuméroté, et le "trou" entre Coluche et Di Caprio a donc disparu, ce qui décale Di Caprio, Ruquier et Norris. Mais ça ne change rien au principe de base.
- Appuyez 2 fois sur la touche
(Comme si vous voulez annuler ce que vous veniez de faire), et effacez ainsi ce nouvel enregistrement, et recréez directement Chuck Norris, comme ceci :



Cette numérotation automatique n'est donc pas une manière de compter les enregistrements ! Chuck Norris est N°11 (N° 12, chez vous), et pourtant, c'est le 10ème enregistrement.
Et si vous vouliez supprimer les "trous", il vous suffirait de supprimer le champ IDClient, et de le recréer, mais, du coup, tous les clients changeraient de numéro, ce qui n'est pas souhaitable !
Clé primaire proposées par défaut


Mais quel intérêt si on ne sait pas à quoi ça sert ?
Et la clé primaire alors, dans tout ça ?
Dans le cas d'un champ de type NuméroAuto, elle ne sert plus à rien, puisqu'il est impossible d'avoir deux fois le même numéro, puisque c'est Access qui décide. Du coup, que vous mettiez une clé primaire ou pas sur IDClient, ça ne change rien.(En fait, si, mais seulement quand nous verrons les relations

Mauvaise utilisation de la clé primaire

Aucun commentaire:
Enregistrer un commentaire