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

VBA Access Discussion :

Affichage d'un champ en fonction du choix de ma liste déroulante [AC-2010]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    pharmacien
    Inscrit en
    Juillet 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Affichage d'un champ en fonction du choix de ma liste déroulante
    Bonjour à tous,

    Je suis débutante sur Access, je souhaite qu'un champ devienne visible lorsque je fais un choix dans ma liste déroulante.

    J'ai mon champ : "Gestion médicaments à domicile" qui est une liste déroulante avec trois possibilités :
    -"Seul"
    -"Liste de médicaments"
    -"Aide"

    Je souhaite faire apparaître le champ : "Qui Aide" lorsqu'on sélectionne "Aide" dans la liste déroulante.

    J'ai déjà essayé ça, sans résultat :

    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
    18
    19
    20
    21
    Private Sub Form_Current()
     
    If Me.Gestion médicaments à domicile= "aide" Then
    Me.Qui Aide.Visible = True
    Me.Qui Aide_Étiquette.Visible = True
    Else
    Me.Qui Aide.Visible = False
    Me.Qui Aide_Étiquette.Visible = False
    End If
     
    End Sub
     
    Private Sub Gestion médicaments à domicile_AfterUpdate()
    If Me.Gestion médicaments à domicile= "aide" Then
    Me.Qui Aide.Visible = True
    Me.Qui Aide_Étiquette.Visible = True
    Else
    Me.Qui Aide.Visible = False
    Me.Qui Aide_Étiquette.Visible = False
    End If
    End Sub
    Merci d'avance.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 099
    Points : 5 217
    Points
    5 217
    Par défaut
    Bonjour,

    L'espace est le séparateur syntaxique, il est à proscrire dans les noms de champs !
    Il est préférable d'éviter aussi les accentués...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Futur Membre du Club
    Femme Profil pro
    pharmacien
    Inscrit en
    Juillet 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre réponse.

    Mon code ne fonctionne toujours pas pourtant j'ai enlevés les accents et les espaces.

  4. #4
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Avril 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 159
    Points : 161
    Points
    161
    Par défaut Liste déroulante
    Bonjour Camille,

    Ta relation est peut-être établie sur l'identifiant colonne clé cachée, et au lieu de "aide" dans ton code, tu devrais indiquer l'identifiant. Tu peux trouver facilement le numéro correspondant dans la table.

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    Bonsoir,

    Une 1ère chose à vérifier c'est que ton code soit exécuté.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Gestion médicaments à domicile_AfterUpdate()
    MsgBox("Test")
    If Me.Gestion médicaments à domicile= "aide" Then
    Me.Qui Aide.Visible = True
    Me.Qui Aide_Étiquette.Visible = True
    Else
    Me.Qui Aide.Visible = False
    Me.Qui Aide_Étiquette.Visible = False
    End If
    End Sub
    Ou bien tu places un point d'arrêt...

    Ensuite, il est utile de nommer ces contrôles (voir Conventions générales concernant le nom des contrôles)
    lbl: Label
    txt: Zone de texte
    cbo: Combobox
    Etc..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cboGestionMedicamentsDomicile_AfterUpdate()
    MsgBox("Test")
          If Me.cboGestionMedicamentsDomicile.value = "aide" Then
                Me.txtQuiAide.Visible = True
                Me.lblQuiAide.Visible = True
          Else
                Me.txtQuiAide.Visible = False
                Me.lblQuiAide.Visible = False
          End If
     
    End Sub
    Pour ne pas répéter un code, tu peux appeler la procédure:
    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
    18
    Private Sub Form_Current()
          ' Afficher
           Call cboGestionMedicamentsDomicile_AfterUpdate()
    End If
     
    End Sub
     
    Private Sub cboGestionMedicamentsDomicile_AfterUpdate()
    MsgBox("Test")
          If Me.cboGestionMedicamentsDomicile.value = "aide" Then
                Me.txtQuiAide.Visible = True
                Me.lblQuiAide.Visible = True
          Else
                Me.txtQuiAide.Visible = False
                Me.lblQuiAide.Visible = False
          End If
     
    End Sub
    Gdal

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2011, 16h47
  2. Réponses: 2
    Dernier message: 13/08/2010, 10h32
  3. Réponses: 4
    Dernier message: 23/06/2010, 10h17
  4. [AC-2007] affichage de données dans un champ à partir d'un choix d'une liste déroulante
    Par Joebar-3 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 07/07/2009, 10h43

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