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

Modélisation Discussion :

Numéro auto qui ne repart pas de la fin à l'ajout d'un nouvel enregistrement


Sujet :

Modélisation

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 344
    Points : 104
    Points
    104
    Par défaut Numéro auto qui ne repart pas de la fin à l'ajout d'un nouvel enregistrement
    Bonjour,

    J'ai une table avec un champ numéro auto qui me sert de numéro de dossier automatique.
    Une requête d'ajout journalière vient ajouter des nouvelles données dans cette table.
    J'ai 25000 dossiers et j'ajoute 500 dossiers qui vont se numéroter 25001 25002 etc etc.
    Ca marche bien.

    Cette table comporte une clé primaire sur un autre champ du type FACTURE ce afin que lors de l'ajout de mes 500 dossiers on n'ajoute pas une facture qui a déjà été ajoutée par le passé, si c'est le cas elle n'est pas ajoutée, je ne le vois pas mais ça me va.

    Mon souci est que parfois Access, lors de l'ajout journalier de mes x dossiers ne va pas toujours repartir de mon dernier numéro auto+1 mais va me proposer un numéro antérieur qui a existé et qui semble libre alors que ça ne devrait pas être le cas car on ne supprime jamais rien (mais à cause de plantages à l'importation dans le passé, j'ai effectivement des numéros auto antérieurs de libre)

    Je le vois car quand j'ouvre la table et que manuellement j'essaie de mettre un nouvel enregistrement, le nouveau numéro auto proposé ne part pas du plus grand +1 mais est par ex 21354, bien antérieur au dernier.
    Et là l'ajout ne marche pas car la nouvelle facture du coup est ignorée alors qu'elle est bien unique!

    Il ne faut surtout pas que je perde mes numéros auto car ce sont mes numéros de dossiers.
    Par contre il faut bien que chaque fois que j'ajoute de nouvelles données, l'incrémentant reparte du dernier dossier (plus grand numéro auto+1) et qu'Access ne me propose pas un numéro ancien.
    Le compactage ne change rien.

    Une solution serait de générer mes numéros de dossiers manuellement et à chaque nouveau de faire le max qui existe+1 mais c'est plus lourd à gérer alors que là tout se fait dans une simple requête d'ajout.

    Une idée pour m'aider ?

    Merci

    Laurent
    Est il possible

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 257
    Points : 19 407
    Points
    19 407
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    C'est un problème qui peut survenir, très rarement, mais que l'on rencontre de temps à autre sur le forum.

    Le générateur de numéro-auto, peut en effet renvoyer un numéro déjà généré.

    La solution que l'on propose dans ce cas, c'est de créer une requête pour recaler le générateur de numéro-auto sur un nombre bien précis:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE T_Facture ALTER COLUMN NumFacture COUNTER(1001,1)

    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COUNTER([prochain numéro],[Incrément])
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 344
    Points : 104
    Points
    104
    Par défaut
    merci bien je vais voir ça.

    Bonne soirée.

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 876
    Points : 4 750
    Points
    4 750
    Par défaut
    Bonsoir,

    Cette table comporte une clé primaire sur un autre champ du type FACTURE ...
    Je recommanderais vivement de mettre le champ numero auto en clé primaire et de créer un index unique sur le numéro de facture.

    Cdlt,
    "Always look at the bright side of life." Monty Python.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 344
    Points : 104
    Points
    104
    Par défaut
    Bonjour micniv,

    Si je procède ainsi pensez-vous que le numéro auto s'incrémentera toujours et donc ne reviendra jamais en arrière comme actuellement ?

    Aussi le fait d'avoir un index unique sur ma facture fera en sorte que les factures doubles ajoutés dans la table sauteront automatiquement comme habituellement ?

    Merci

    Laurent

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 257
    Points : 19 407
    Points
    19 407
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par lbar012001 Voir le message
    Bonjour micniv,

    Si je procède ainsi pensez-vous que le numéro auto s'incrémentera toujours et donc ne reviendra jamais en arrière comme actuellement ?

    Aussi le fait d'avoir un index unique sur ma facture fera en sorte que les factures doubles ajoutés dans la table sauteront automatiquement comme habituellement ?

    Merci

    Laurent
    En mettant une clé primaire sur le champ, si ça se reproduit Access vous indiquera qu'il ne peut créer un numéro en double.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 876
    Points : 4 750
    Points
    4 750
    Par défaut
    User a déjà répondu mais je complète :

    Oui , le fait d'avoir la clé primaire sur le n° auto fera qu'Access gérera sans pb ce numero auto.

    Avec un index unique sur le numéro de facture, Access levera une erreur en cas de saisie d'un doublon (sur ce numéro) et en aucun cas tu ne pourras avoir 2 numeros de factures indentiques.

    Cdlt
    "Always look at the bright side of life." Monty Python.

Discussions similaires

  1. Réponses: 21
    Dernier message: 28/06/2010, 08h40
  2. [XL-2000] valeur dans filtre auto qui ne fonctionne pas
    Par slavovensky dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/05/2010, 10h02
  3. Réponses: 2
    Dernier message: 25/02/2009, 15h49
  4. Champ auto qui ne s'affiche pas
    Par codial dans le forum Connexion aux bases de données
    Réponses: 19
    Dernier message: 27/11/2006, 17h26
  5. Numéro Auto qui se réinitialise à 1 tous les jours!
    Par R0cKW|LDeR dans le forum Access
    Réponses: 11
    Dernier message: 02/02/2006, 22h05

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