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 :

Récuperer la valeur du prochain enregistrement d'une liste déroulante


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Économiste
    Inscrit en
    Janvier 2016
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Économiste

    Informations forums :
    Inscription : Janvier 2016
    Messages : 114
    Points : 44
    Points
    44
    Par défaut Récuperer la valeur du prochain enregistrement d'une liste déroulante
    Bonjour tout le monde,

    j'ai un petit souci. Sur l'image ci-dessus, lorsque l'utilisateur rentre par exemple "01" pour le "code taux", une nouvelle ligne apparaît et il peut entrer de l'information, ainsi de suite.

    Moi je ne veux pas qu'il rentre deux fois le même "code taux". Je veux créer un message d'erreur du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.cbocodetxsub.ItemData(0) = "01" And Me.cbocodetxsub.ItemData(1) = "01" Then
          MsgBox "Une seule occurence par code de taux peut être déclaré. Aucun double n'est permis ici.", vbOKOnly, "Message d'erreur!"
    End If
    le nom de la zone de liste déroulante est "cbocodetxsub".
    Mais je ne sais pas c'est quoi le code pour aller chercher la prochaine valeur que l'utilisateur va rentrer.
    J'espère que j'ai bien expliquer.


    Nom : code.PNG
Affichages : 186
Taille : 6,5 Ko



    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Plusieurs solutions...
    La plus simple est d'indexer sans doublons le champ de la table fondé sur cette liste et de gérer de façon optimiste l'erreur 3022 via Form_error().

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Membre du Club
    Homme Profil pro
    Économiste
    Inscrit en
    Janvier 2016
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Canada

    Informations professionnelles :
    Activité : Économiste

    Informations forums :
    Inscription : Janvier 2016
    Messages : 114
    Points : 44
    Points
    44
    Par défaut Code
    Merci Argy pour votre solution. Est-ce que vous pouvez me pister sur une solution de code!?

    Merci !

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bien vous pouvez vous inspirer (ou recopier) une procédure dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Const ERR_DOUBLON                                      As Long = 3022
     
        Select Case DataErr
            Case ERR_DOUBLON
                strErrMessage "Vous ne pouvez pas choisir deux fois la même valeur dans deux enregistrements distincts !"
                'Case ...
                'Case ...
            Case Else
                strErrMessage = "L'erreur '" & DataErr & "' est survenue durant la saisie :" & vbCrLf & AccessError(DataErr)
        End Select
        MsgBox strErrMessage, vbExclamation, "Erreur de saisie"
        Me.ActiveControl.Undo
        Response = acDataErrContinue
    End Sub
    A vous de définir les constantes idoines en plus et d'adapter les Case.
    Les plus usitées sont 2213, 3058, 2279 et 2237.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/09/2007, 18h04
  2. Comment changer la valeur d'un input selon une liste déroulante
    Par dreyo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/02/2007, 15h22
  3. Limiter les enregistrements d'une liste déroulante
    Par Dafbau dans le forum Access
    Réponses: 3
    Dernier message: 30/11/2006, 20h11
  4. Enregistrement dans une liste déroulante & Msgbox
    Par tintinmarre dans le forum Access
    Réponses: 6
    Dernier message: 29/09/2005, 13h27
  5. Réponses: 2
    Dernier message: 16/10/2004, 14h33

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