Bonjour,
J'ai crée une application VB6 avec une base de données Access dans laquelle j'ai une table dossier et un champ Id, qui est l'identifiant unique de l'enregistrement. Dans un Form, j'ai un controle data lié à cette table et j'ai un bouton 'nouveau dossier' afin de créer un nouvel enregistrement. Je ne savais pas trop comment gérer les Id de cette table. J'ai lu sur le web que je pouvais utiliser un champ Id autoincrémenté ce qui me paraissait une bonne idée mais j'ai un comportement super bizarre. Imaginons que j'ai les id de 1 à 10 dans la table. Je crée un nouvel enregistrement. Après la méthode Addnew, le nouvel Id est 11, ce qui est correct. Mais si je supprime ensuite les Id 11, 10, 9 par exemple, je crois que normalement à la création d'un nouvel enregistrement, le nouvel Id doit être 9 non ? Puis que l'Id de plus haut rang est 8. Mais non, en fait l'enregistrement créé a l'Id 12 ... !!! Comme si il gardait en mémoire la trace des Id 9,10,11 supprimés ... Si je ferme VB6 et relance l'application c'est la même chose, je me retrouve quand même avec un Id 12 ... !!! Est-ce le comportement normal d'un champ autoIncrementé ??
Peut-être que je peux me passer d'un champ autoincrémenté mais dans ce cas là comment je fais pour savoir quel est le record avec l'Id de plus haut rang (afin de créer mon nouvel enregistrement avec la valeur de cet Id+1) ... ? Quelqu'un a-t-il une vraie méthode à me proposer ??
S'il vous plait aider moi car je vais abandonner sinon. Où conseillez moi des forums, des livres parce que je suis à cours d'informatio.
Merci à tous pour votre aide.