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 :

Le numéro auto peut-il se "désincrémenter"?


Sujet :

Access

  1. #1
    Candidat au Club
    Femme Profil pro
    Assistante Qualité
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Qualité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Le numéro auto peut-il se "désincrémenter"?
    Bonjour à tous!

    Le numéro auto peut-il se "désincrémenter"?
    Question déjà posée sur certains forum mais dont les réponses ne m'aident pas à résoudre mon problème.

    L'énoncé est simple : est-ce possible, lorsque je supprime un enregistrement, que le numéro auto fasse -1 et reprendre ainsi une numérotation logique à la création d'un nouvel enregistrement?

    Si le numéro auto ne peut pas gérer cela, y aurait-il une solution simple envisageable?

    Merci d'avance pour vos conseils

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Et si tu supprimes un enregistrement au milieu.

    Par exemple, tu as le N° 1, 2, 3, 4, 5, 6.

    Et tu souhaites supprimer le 4, il va y avoir 1 trou :

    N° 1, 2, 3, 5, 6

    Sinon,

    Tu peux essayer de mettre ce code sur l'évènement "avant insertion" (beforeinsert) de ton formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Me.NumOrdre = Nz(DMax("NumOrdre", "TaTable"), 0) + 1
     
    End Sub

    Ou NumOrdre désigne le champ numéroté de ta table nommée "TaTable".

    A+

    Si tu souhaites aussi éviter ce problème alors peux être utiliser un champ calculé dans une requête comme ici.

  3. #3
    Candidat au Club
    Femme Profil pro
    Assistante Qualité
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Qualité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre aide!

    J'ai essayé le code mais ça ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Me.numero = Nz(DMax("numero", "Non_Conformite"), 0) + 1
    Est ce bien ça?

    Et le lien "ici" ne s'est pas fait, pourriez vous me le redonner svp?

    Encore merci

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Re,

    Ne pas oublier le End sub à la fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Me.numero = Nz(DMax("numero", "Non_Conformite"), 0) + 1
    End sub
    Puis compiler ton code...

  5. #5
    Candidat au Club
    Femme Profil pro
    Assistante Qualité
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Qualité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Oui j'ai oublié le End Sub sur mon post mais pas dans mon code. Ça ne marche toujours pas. Mon numéro auto continu tout seul de s'incrémenter en se fichant des suppressions

    Quelle est cette méthode du champ calculé? Est-ce valable pour des milliers d'enregistrements?

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    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 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Re,

    Peux-tu poster ta base ?

  7. #7
    Candidat au Club
    Femme Profil pro
    Assistante Qualité
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Qualité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Je sais que cela serait beaucoup plus simple mais malheureusement non je ne peux pas joindre mon fichier, il est confidentiel...

    Ce n'est pas grave je vais trouver une autre solution.

    Merci à vous!

Discussions similaires

  1. Comment faire un numéro auto??
    Par the_new dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/03/2005, 16h49
  2. INSERT INTO numéro auto.
    Par Pfeffer dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/02/2005, 19h04
  3. Numéro auto ===== Question bête
    Par Nicos77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/06/2003, 13h04

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