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 :

Afficher un champ sous condition


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut Afficher un champ sous condition
    Bonjour,

    voici une question de "mise en forme" :

    J'ai cherché dans le forum le possibilité d'afficher un champ a la condition qu'un autre ne soit pas vide.

    J'ai trouvé un petit code que j'ai tenté d'adapter mais qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub NO_PROF_BASE_AfterUpdate()
    If Me![NO_PROF_BASE] = " " Then
    [NO_ETUDE].Visible = False
    Else
    [NO_ETUDE].Visible = True
    End If
     
    End Sub
    Je voudrais que le champ "NO_ETUDE" (ainsi qu'un autre champ "NO_PROFIL") ne soit visible que si le champ NO_PROF_BASE est renseigné (non vide)

    Merci de vos corrections !

  2. #2
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Bonjour,

    Tu peux essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Not IsNull(Champ) then
    Champ1.visible = False
    Else
    ...
    End if
    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  3. #3
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    bon, voilà comment je viens de faire les modifs, mais ça marche toujours pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub NO_PROF_BASE_AfterUpdate()
    If Not IsNull(NO_PROF_BASE) Then
    [NO_ETUDE].Visible = True
    Else
    [NO_ETUDE].Visible = False
    End If
     
    End Sub

  4. #4
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Enlève les crochets sur tes noms de champs...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NO_ETUDE.visible = True
    ...
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  5. #5
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    J'ai enlevé les crochets mais ça fait rien de mieux ...

  6. #6
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 97
    Points : 71
    Points
    71
    Par défaut Re: Afficher une champ sous condition
    Essaye cela (le nz pour gérer le null, et surtout supprimer l'espace entre tes double-quotes) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub NO_PROF_BASE_AfterUpdate()
    If Nz(Me![NO_PROF_BASE], "") = "" Then
    [NO_ETUDE].Visible = False
    Else
    [NO_ETUDE].Visible = True
    End If
     
    End Sub
    edit : erf je n'ai pas fait assez attention aux dernières interventions... tu pourrais nous dire quel est exactement le message d'erreur que tu obtiens?

  7. #7
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Où mets-tu ton code?

    ...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  8. #8
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Ou essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Me.N0_PROF_BASE = "" then
    Me.N0_ETUDE.Visible = False
    Else
    Me.N0_ETUDE.Visible = True
    End if
    sur Form_Open
    ou sur Form_Current

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  9. #9
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    J'ai essayé le nouveau code : Rien

    Je met le code dans l'évènemment après MAJ de [NO_PROF_BASE] ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub NO_PROF_BASE_AfterUpdate() ...

  10. #10
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    Le code de stéphane_ais2 mis sur Form_Open donne le message suivant:

    "Erreur de compilation
    Membre de méthode ou de données introuvable"

    et Private Sub Form_Open(Cancel As Integer) est surligné en jaune
    et .NO_PROF_BASE est surligné en Bleu...

    désolé , je tente d'apprendre sur le tas mais il me manque quelques bases ...

  11. #11
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Sur Form_Current() qui correspond à l'évenement Sur Activation des propriétés du formulaire
    essaie ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Not IsNull(Me.TonChamp) then
    Champ1.Visible = True
    Else
    Champ1.Visible = False
    End if
    Dans mon premier post j'avais fait une erreur...

    ...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  12. #12
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    Ca marche !

    Merci !

    Peux-tu m'expliquer ton erreur ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
    If Not IsNull(Me.NO_PROF_BASE) Then
    NO_ETUDE.Visible = True
    Else
    NO_ETUDE.Visible = False
    End If
    End Sub

  13. #13
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    ... encore une petite question:

    Si maintenant, avec la même condition je veux afficher ou masquer 1 ou 2 autres champs, où et comment dois-je les mettre dans le code ? (sachant qu'ils s'affichent ou se masquent en même temps selon les mêmes critères) ?

  14. #14
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    J'avais oublié le mot clé dans le code que je te proposais...

    Si ça marche tant mieux...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  15. #15
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut

    En fait, non, ça ne marche pas si bien car les champs devenus "invisibles" ne redeviennent visibles qu'après une petit coup de molette de souris avant - arrière ! ...

    l'affichage ne "se rafraichit" pas ...

  16. #16
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Bonjour,

    le plus simple c'est d'utiliser la méthode du formatage conditionnel.
    Donc de mettre dans la zone de texte la même couleur que le fond de formulaire et de même pour la couleur de texte.

    Sinon il faut créer un rectangle que l'on rend visible ou pas suivant le contenu du champ voir des exemples avec
    http://www.mvps.org/accessfr/forms/frm0024.htm

    c'est naturellement plus compliqué

  17. #17
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Qu'est-ce que tu veux dire par
    l'affichage ne "se rafraichit" pas ...
    :

    ...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  18. #18
    Membre du Club
    Profil pro
    autre
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Points : 62
    Points
    62
    Par défaut
    Bon, la table sur laquelle est basée mon formulaire contient plusieurs enregistrements.

    Avec le code actuel, si le champ NO_PROF_BASE de l'enregistrement en cours dans le formulaire est renseigné, le champ NO_ETUDE est visible, si par contre le champ NO_PROF_BASE est vide NO_ETUDE n'apparait pas. Donc jusque là ça va. Par contre lorsque j'entre un nouvel enregistrement, je renseigne NO_PROF_BASE mais NO_ETUDE reste invisible.


  19. #19
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Et oui c'est normal...

    Essaie de faire ceci
    Sur l'évenement AfterUpdate de ton champ sur lequel tu fais le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Not IsNull(Me.Champ) then
    Me.champ1.Visible = True
    Else
    Me.champ1.Visible = False
    End if
    Les deux codes sont complémentaires, l'un quand tu consultes, l'autre quand tu saisis...

    ...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  20. #20
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ajoute me.recalc
    Elle est pas belle la vie ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2000] Formulaire afficher certain champ sous condition
    Par ClementZa dans le forum IHM
    Réponses: 0
    Dernier message: 15/07/2010, 12h16
  2. Afficher valeur d'un champ sous condition
    Par yvevmax dans le forum Modélisation
    Réponses: 9
    Dernier message: 05/06/2007, 19h28
  3. Afficher un champs sous condition
    Par wachoo31 dans le forum IHM
    Réponses: 3
    Dernier message: 09/05/2007, 12h08
  4. Somme de champs sous condition
    Par Nicola dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 01/08/2006, 14h47
  5. Afficher une image sous condition
    Par Chmog dans le forum BIRT
    Réponses: 5
    Dernier message: 28/07/2006, 12h11

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