IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Incrémentation du NuméroAuto [AC-2016]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut Incrémentation du NuméroAuto
    Bonjour à tous,

    J'aurais une petite question concernant le NuméroAuto d'une clé primaire.

    J'ai créé un formulaire permettant d'alimenter une table avec de nouveaux enregistrements.
    Seulement, si je ne fais termine pas cette enregistrement que je passe à autre chose, puis que je reviens sur ce formulaire pour faire un nouvel enregistrement, j'ai un saut dans le NuméroAuto.

    Petit exemple pour être sûr que je sois clair:

    J'ai pour le moment trois enregistrement dans ma table, le NuméroAuto est à 3.
    Je commence un nouvel enregistrement, le NuméroAuto passe donc logiquement à 4.
    Je suis interrompu, je dois faire autre chose avant de terminer cet enregistrement, et je dois quitter le formulaire.
    Lorsque je reviens sur ce même formulaire pour faire un nouvel enregistrement, alors le NuméroAuto est passé à 5 sans avoir de 4...

    Comment je peux faire pour éviter ce saut afin que le NuméroAuto reste à 4?

    A votre dispo si je ne suis pas clair...

    Merci d'avance à tous ceux qui pourront m'aider sur le sujet.

    Schoum

  2. #2
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonsoir
    Tu dois créer un bouton qui tant que tu n'as pas encore cliquer dessus alors l'enregistrement n'est pas validé et par conséquent tu ne passes pas à l'enregistrement suivant. Il faut noter qu'il y a bien une possibilité de défiler entre les enregistrements à l'aide des macros incorporées aux boutons. Tu peux donc faire suivant ou précédent pour compléter un enregistrement comme tu le souhaites.

    Cordialement.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  3. #3
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Merci une nouvelle fois pour ton aide précieuse!
    Donc si j'ai bien compris, je créé par exemple 4 boutons sur mon formulaire:

    Bouton1 : Enregistrement précédent
    Bouton2 : Enregistrement suivant
    Bouton3 : Nouvel enregistrement
    Bouton4 : Validé l'enregistrement

    Je supprime les boutons de navigation qui se trouvent tout en bas de mon formulaire.

    Juste, comment faire pour dire que tant que je n'ai pas cliqué sur le bouton4 l'enregistrement n'est pas validé et donc enregistré?

    J'ai du coup une nouvelle petite question, bête je m'en excuse, mais quelle est la différence entre "ajouter un nouvel enregistrement" et "sauvegarder un enregistrement" lorsque j'utilise l'assistant de bouton de commande?

    Merci d'avance pour ton retour.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Et surtout il faut savoir que les numeros auto ne sont pas des compteurs d'enregistrements.
    Ils sont destines a te fournir un numero unique dans ta table et pas une sequence continue de numerous.

    Si tu as besoin de cela il faut le programmer toi-meme.

    Le sujet a ete plusieurs fois traiter dans le forum et je pense qu'il y a meme un tutorial sur le sujet.

    Et il y a aussi une solution partielle avec DMAX([TonChamp])+1 dans la FAQ.
    Elle est partielle car elle n'adresse pas le cas rare ou tu recuperes 2 fois le meme numero sur 2 postes differents.
    Donc il faut penser a integrer une gestion d'erreur pour ce cas la qui va reessayer pour obtenir un nouveau numero.

    Si tu le programme, il ne faut pas que ton champ soit de type automum.

    Si tu tiens as un autonum, tu peux utiliser du SQL pour "replacer" la valeur mais ce n'est pas recommende de trop jouer avec cela.
    Si tu te rates tu peux vraiment metre le bazard dans tes donnees.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE [tablename] ALTER COLUMN [fieldname] COUNTER(ValeurDeDepart,1);

    Et cela ne marche pas si la table est actuellement utilisee.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    En fait dans un formulaire basé sur une table, ce fonctionnement d'un champ Numéroauto est normal. Il n'y a pas de parade dans ce cas.
    A partir du moment où le nouveau numéro apparait, on ne peut plus l'annuler. L'annulation de l'enregistrement provoque la perte de ce nouveau numéro.
    De toutes les façons, un champ de type NuméroAuto est un identifiant automatique dans une table. Il ne faut pas s'y fier (faire attention à leur horodatage) pour les données d'une table parce qu'il peut y avoir des trous. Tu peux même choisir un type NuméroAuto aléatoire.

    Pour pouvoir gérer (incrémenter) "personnellement" un champ en numéroAuto, tu as dans le faq un début de réponse.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup pour vos retours.

    Et désolé pour le dérangement... :s En effet, j'aurais dû aller dans la FAQ avant de vous embêter...

    En effet, le numéro auto n'est pas un compteur d'enregistrement, je ne sais pas pourquoi j'ai fait un fixette sur le fait que je voulais qu'ils se suivent.
    Je peux toujours créer un autre champ de type référence qui lui aura un suivi 1 à 1 et donc, pour être sûr de l'incrémentation, utiliser DMAX([TonChamp])+1?

    J'ai lu différents sujets sur DMAX([TonChamp])+1 mais de ce que j'ai compris, cela ne fonctionne uniquement pour un champ typé Numérique et non pour les NuméroAuto.

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Oui, les champs de types "Numérique" sont différents d'un champ "NuméroAuto".
    Et le DMAX s'utilise avec un champ "Numérique".

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  8. #8
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Yes! C'est noté!

    Merci encore à tous les trois d'avoir pris le temps!

    Bonne soirée!

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pour info en interne, les champs autonum sont des champs de type entier long.

    Et désolé pour le dérangement... :s En effet, j'aurais dû aller dans la FAQ avant de vous embêter...
    Pas de soucis :-).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    D'accord, c'est bon à savoir.

    Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Numéro de facture qui s'incrémente sans être numéroAuto
    Par joseedaccess dans le forum VBA Access
    Réponses: 15
    Dernier message: 05/09/2017, 11h26
  2. Incrémenter un champ NuméroAuto par code
    Par sakia dans le forum Modélisation
    Réponses: 1
    Dernier message: 30/05/2008, 01h13
  3. Incrémentation d'un champ comme un numéroauto
    Par saxoman76 dans le forum VBA Access
    Réponses: 13
    Dernier message: 15/05/2008, 09h39
  4. Incrémentation Compteur NuméroAuto
    Par kornkiller dans le forum Access
    Réponses: 15
    Dernier message: 28/07/2006, 00h28
  5. Post incrémentation?
    Par Defrag dans le forum C
    Réponses: 4
    Dernier message: 08/10/2002, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo