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

IHM Discussion :

NumroAuto qui continu a ajouter des N° malgré le nom


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut NumroAuto qui continu a ajouter des N° malgré le nom
    Bonjour,

    J'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If MsgBox("Voulez-vous enregistrer les modifications ?", vbYesNo, "Confirmation") = vbNo Then
    Me.Undo
    End If
    End Sub
    Si on clique sur "Non", aucun enregistrement dans la table se fais, seulement avec plusieurs déclinaison, je m'apperçois que le champs clefs [Numéroauto] sont décaler les uns les autres, un clique sur "Non" un numéro perdu, vous avez une formule.

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    De fait ...
    Personnellement, j'ai maintes fois contourné le problème dans l'urgence avec une méthode de "barbare" qui consiste à mettre la propriété du champ N°, non plus en automatique mais en numérique entier long.
    Dans le formulaire, la TxtBoxN° est alimentée par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'en procédure VBA sur Clic d'un bouton "Valider" par exemple
    .....
    Dmax("N°","MaTable")+1
    .....
    Cela dit, je suis preneur de méthodes plus professionnelles ...

    Cordialement.

  3. #3
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour mcharmat, Dixies,

    Dès que ton formulaire est lié, le numéro auto est incrémenté dès qu'il y a une saisie dans un champ du formulaire.

    La solution, si la perte de numéro est un problème, est d'avoir un formulaire indépendant et d'insérer les données à l'aide d'une requête ajout. Ainsi tu peux garder un numéro auto comme clé primaire.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  4. #4
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Bonsoir,

    Dommage, en tous cas ça permet de régler des problème sur toute la base de donnée.

    Bonne fin de journnée.

  5. #5
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    mcharmat,

    Je me permets d'attirer ta réflexion sur le pourquoi du comment et tu vas comprendre pourquoi !

    Il faut se placer dans un environnement multi-utilisateurs. Lorsque tu inities la création d'un enregistrement, la base de données t'attribue un numéro de type auto-increment (que tu trouves bien utile puisque tu en as décidé ainsi afin de t'affranchir d'un certain nombre de contraintes). Tu renseignes un certain nombre d'informations sur ton formulaire (et cela peut prendre de quelques secondes à plusieurs minutes). Durant ce temps, un autre utilisateur a pu initier une demande identique sur un autre poste basée sur la même source de données (il a ainsi obtenu son nouveau numéro). Ce nouveau numéro lui a été attribué et pourtant présent dans son recordset (non encore visible en base) sur lequel il a pu basé un certain nombres de jointures. Quand de son côté il travaille sur son formulaire et n'a pas appliqué soit la fermeture de son ou de ses formulaires, un refreshrecord ou un requery ce numéro d'auto-increment lui reste attribué. Voilà tout simplement pourquoi Access ne libère pas le numéro initié et je dirai heureusement d'ailleurs.

    Il ne te reste qu'une méthode que j'approuve est celle évoquée par notre ami Robert et consistant à travailler sur un formulaire indépendant (mais difficilement applicable dans la construction père-fils je le concède). Une autre manière d'écrire tes programmes partant de notre réflexion te permettra de contourner cette problématique.

    Dommage, en tous cas ça permet de régler des problème sur toute la base de donnée.
    Quels problèmes ? si tes règles d'intégrité sont respectées je n'en vois pas. Le numéro Auto-Increment reste l'apanage des développeurs (le moyen de donner de la robustesse dans nos développements tout en s'affranchissant d'un certain nombre de contraintes). Pour ma part, tous ces numéros sont invisibles sur mes formulaires ou états et l'utilisateur ne connait même pas ce champ. Tu peux l'utiliser pour un bon de commande par exemple je le concède et trouver cela très pratique (dans ce cas la perte d'une valeur ne suit plus la logique utilisateur), personnellement je gère mes champs séparément (merci dmax).

    jimbolion

    ps. dmax est une fonction, pas l'un de nos chers membres je précise
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut
    Jimbolion,

    Même si ta réponse ne m'était pas destinée, merci tout de même : je ne suis que tout petit amateur (mais grand passionné) qui "bricole" à des fins personnelles et je n'avais jamais nuancé l'intérêt du NumAuto comme tu l'as indiqué.
    Alors merci pour ce petit cours ....

    Cordialement.

  7. #7
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Dixies,

    merci à toi et à tous les passionnés que je salue au passage...

    jimmy
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/06/2012, 06h53
  2. Conception d'un système qui permet d'ajouter des news
    Par Rockworld dans le forum Débuter
    Réponses: 5
    Dernier message: 04/01/2011, 20h15
  3. Réponses: 2
    Dernier message: 24/10/2008, 15h50
  4. liste chainnéé qui veut pa ajouter des nouveaux element
    Par naoufal_bago dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 14/03/2008, 15h16
  5. Une fonction qui permette d'ajouter des séparateurs...
    Par Empty_body dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/04/2006, 13h23

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