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 :

Faire apparaître une étiquette dans un état seulement lorsque le contrôle est plein


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut Faire apparaître une étiquette dans un état seulement lorsque le contrôle est plein
    Bonjour,

    Je suis en train de faire mes factures à l'aide d'un état.

    Je veux faire apparaître "Remise" uniquement lorsqu'il y a effectivement une remise (càd lorsque la remise n'est pas égale à 0%).

    Dois-je faire deux états différents et choisir manuellement lorsqu'il y a remise ou non ? Ou puis-je automatiser cela et faire apparaître la remise et son montant seulement lorsqu'elle est strictement positive ?

    Si oui, comment ?

    Merci
    Pour la Terre et vos économies, pensez à une maison passive et à la renovation.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    ton cas peut se rapprocher de celui évoqué dans la FAQ en jouant sur la propriété .Visible
    http://access.developpez.com/faq/?pa...ort#FormatCond
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut marche po
    Bonjour,

    Alors, concrètement je fais comment ?

    Je vais dans mon pied d'état (le contrôle en question se trouve là), et je vais dans les propriétés, et je clique sur format et dans "formatage" je mets procédure évenementielle.

    Ensuite je rentre ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub PiedÉtat_Format(Cancel As Integer, FormatCount As Integer)
        If Me![Total remise] = "0" Then
            Me![Total remise].ForeColor = 16777215
        Else
            Me![Total remise].ForeColor = 0
        End If
    End Sub
    (mon contrôle s'appelle Total remise. Je veux que son étiquette non plus n'apparaisse pas).

    Rien ne se passe.

    Je suis débutant, au secours !
    Pour la Terre et vos économies, pensez à une maison passive et à la renovation.

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    2 erreurs m'apparaissent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        If Me![Total remise] = "0" Then
    ce n'est pas du texte, donc pas de double quotes (")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Me![Total remise].ForeColor = 16777215
        Else
            Me![Total remise].ForeColor = 0
    ce n'est pas la couleur que tu veux changer mais la visibilité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls("MonControle").Visible = True
    pour faire apparaître
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls("MonControle").Visible = False
    pour faire disparaître
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut 512banque,

    J'aivais une situation comparable à la tienne pour nos factures de manutention. Dans l'état, il y le contrôle TauxRemise (sans étiquette ou libellé) et MontantRemise avec son étiquette nommée MontantRemise_Étiquette.

    Si TauxRemise=0 alors ne pas afficher les contrôles TauxRemise, MontantRemise et MontantRemise_Étiquette
    Sinon les afficher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       If Me.TauxRemise=0 Then
          Me.TauxRemise.Visible=False
          Me.MontantRemise.Visible=False
          Me.MontantRemise_Étiquette.Visible=False
       Else
          Me.TauxRemise.Visible=True
          Me.MontantRemise.Visible=True
          Me.MontantRemise_Étiquette.Visible=True
       End If
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    pourquoi pas une simple zone de texte avec dans la zone source de controle la formule suivante

    =vraifaux(TauxRemise>0;MontantRemise;"")

  7. #7
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Isnull(NomChamps) or NomChamps=0 then
       NomEtiquetteACacher.visible=False
    else
       NomEtiquetteACacher.visible=True
    End If
    Si ta parole n'est pas aussi sage que le silence alors tais-toi !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 37
    Points
    37
    Par défaut Ca marche
    Merci beaucoup. J'ai essayé la macro du dessus (de Mahefasoa) qui a marché.

    Je n'ai donc pas essayé les autres. Je vous remercie malgré tout.

    Pour la Terre et vos économies, pensez à une maison passive et à la renovation.

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

Discussions similaires

  1. [À télécharger] Faire apparaître une ComboBox dans une Flexgrid
    Par SfJ5Rpw8 dans le forum Vos téléchargements VB6
    Réponses: 0
    Dernier message: 14/11/2010, 13h23
  2. Réponses: 1
    Dernier message: 22/02/2009, 09h28
  3. déplacer une étiquette dans un état sous conditions
    Par françois35 dans le forum IHM
    Réponses: 6
    Dernier message: 28/08/2008, 14h36
  4. Légende d'une étiquette dans un état
    Par nellynew dans le forum IHM
    Réponses: 3
    Dernier message: 27/09/2006, 14h19
  5. Réponses: 9
    Dernier message: 11/04/2006, 16h56

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