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 :

Comment rendre visible ou invisible une image ? [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut Comment rendre visible ou invisible une image ?
    Bonjour,

    Dans un champ de mon formulaire j'ai soit la valeur 1 soit la valeur 2 soit rien "".

    Lorsque 1 ou 2 s'affiche je voudrais que mon image apparaisse, au contraire si le champ "valeur" est vide la masquer.
    Mon événement est sur après mise à jour d'une liste déroulante, c'est lorsque j'active cette dernière que la valeur passe à 1 ou 2 ou "".
    ça fonctionne que dans un sens pas dans l'autre.
    Par défaut mon image est sur visible = non.
    parfois ma liste est vide.

    Merci d'avance.
    Philippe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub maliste_AfterUpdate()
    If Me.Valeur = 1 Or 2 Then
    Me.Image1.Visible = True
    Else
    If Me.Valeur = Null Then
    Me.Image1.Visible = False
    End If
    Me.maliste.Requery
    End If
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 548
    Points
    24 548
    Par défaut
    Bonjour,
    Avec l'indentation de ton code c'est plus simple à lire. Merci de penser au lecteur !

    Donc,
    D'une part ceci n'est pas correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.Valeur = 1 Or 2 Then
    On écrit cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.Valeur = 1 Or Me.Valeur = 2 Then
    Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.Valeur = Null Then
    Il faut vérifier la valeur que "Valeur" renvoie. Généralement on trouve Null dans un champ qui n'a pas été rempli, par contre si tu veux tester "" ce n'est pas pareil que Null.
    Pour tester un champ vide (qui est différent de Null) on utilisera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if len(me.Valeur)=0 then
    Je pense qu'entre ces 2 ajustements tu résoudras ton problème.

    Cordialement,

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut
    Merci pour la réponse.
    J'ai bien modifié mais ça ne fonctionne pas, l'image n'est pas invisible si je change la sélection de ma liste, le champ qui affiche 1 ou 2 ou qui reste vide se met à jour automatiquement en activant la liste, il n'est jamais "utilisé" .

    Merci,

    Bon dimanche.
    Philippe

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 548
    Points
    24 548
    Par défaut
    Que représente Valeur ?
    Est-il valorisé ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut
    Le champ "valeur" extrait le chiffre 1 ou 2 de la liste qui se trouve côté plusieurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[lstprobleme].[column](3)
    le chiffre 1 et 2 sont utilisés seuls.

    ils servent à afficher l'image ou non, dans ma liste sur 50 enregistrements seulement 10 ont la valeur 1 ou 2.
    1 pour boisson
    2 pour viande par exemple.
    pour les autres pas de valeur "légume" etc..

    mais il y a sans doute une autre solution pour faire disparaitre cette image !

    Merci.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut
    Et si on utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[lstprobleme].[column](3)
    dans le code plutôt que de passer par un champ supplémentaire qui extrait la valeur ?

    Je ne sais pas si c'est possible.

    Merci.

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 548
    Points
    24 548
    Par défaut
    Passer par Valeur est-il obligatoire ?

    Pourquoi ne pas aller droit au but en écrivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if me.lstProbleme.column(3) = 1 Or me.lstProbleme.column(3) = 2 then
       me.image.visible = true
    else
       me.image.visible = false
    endif
    Ou encore plus direct comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.image.visible = (me.lstProbleme.column(3) = 1 Or me.lstProbleme.column(3) = 2)
    qui remplace les 5 lignes précédentes.

    Mais peut-être que Valeur a une autre utilité ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut
    Bonjour et merci,

    ça fonctionne sur réception focus du champ qui contient la valeur après avoir quitté la liste, ça devrait aller comme ça.

    Bonne journée,

    @+
    Philippe

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/07/2010, 12h20
  2. Réponses: 15
    Dernier message: 21/04/2007, 23h49
  3. Réponses: 2
    Dernier message: 27/03/2007, 17h35
  4. rendre visible ou invisible une texte box
    Par kuhnden dans le forum Access
    Réponses: 13
    Dernier message: 01/11/2005, 18h59
  5. rendre visible ou invisible une picture (icon)
    Par Robleplongeur dans le forum MFC
    Réponses: 3
    Dernier message: 18/05/2004, 12h23

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