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

IHM Discussion :

Affichage d'un bouton selon condition [AC-2003]


Sujet :

IHM

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Affichage d'un bouton selon condition
    Bonjour A tous,

    Depuis quelques temps, je suis coincé avec un petit problème sur un formaulire access.
    Je m'explique:
    J'ai controle (Champ numérique, monétaire) qu'on appelera "somme" qui donne le total de plusieurs champs. Pour l'instant tout va bien. ca fonctionne parfaitement.
    J'ai un bouton qu'on appelera "valide" ce même formulaire.

    Mon but recherché est que tant le champs "somme" n'est pas égal à = 0.00 que le bouton "valide" n'apparait pas.

    Ma logique
    Propriété du Bouton "valdie" = Visible à Non
    Et
    Dans les propriété du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private Sub form _Load()
      If somme<>0 then
        valide.Visible=Fasle
       End If
    End Sub
    Mais rien ne fonctionne, Es-ce que quelqu'un pourrais m'aider à résoudre mon problème?
    Je suis sous acces 2003.

    Enzo

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Essaye avec l'évènement sur activation (Current)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private Sub form _current()
     
      If somme<>0 then
           valide.Visible=true 'Visible si la somme est différente de 0
        else
           valide.Visible=false 'Invisible si la somme est égale à 0
       End If
     
    End Sub
    A+

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour l'information,

    mais cela ne fonctionne toujours !!! J'y comprends rien.
    Je me tire les cheveux avec ce problème, c'set une horreur ...

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    enzo29 essaie ça pour voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if [somme]<>0 then
    [valide].visible=false
    else
    [valide].visible=true
    end if

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Hélas, toujours pareil Grrrrrr
    Je pense que nous ne sommes pas loin du but...
    J'ai beau rechercher sur d'autre forum mais j'ai tjs le même Dilème.

    Bizarre ca.
    Bon, je vais revoir çà demain à tête reposer
    Merci bcp

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    il faut mettre le code sur la procedure after_update du dernier controle de saisir pour la somme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if [somme]<>0 then
    [valide].visible=true
    else
    [valide]visible=false
    end if

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    A reprise de mon projet ce jour, J'ai aporté les dernières modifications.
    Comme indiqué sur le dernier message,
    Sur le dernier controle de saisie par l'utilisateur, j'ai fait:
    after_udapte du dernier controle saisie par l'utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If [somme] <> 0 Then
        [valide].Visible = True
        Else
        [valide].Visible = False
        End If
    Et là, ben rien ne se passe... et par d'erreur sur syntaxe

    Dommage
    Pour information, le formulaire est:

    Feuille rép.dyn.(MAJ globale) et formulaire unique.
    et le champs "somme" est en format Euro etdécimales à 2.
    Encore Merci

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Je pense que ce n'est pas un problème dans les codes fournis par marot_r et e-boss, mais plutôt dans la valeur de 0 que tu compares.

    Vu que tu utilises un résultat d'opérations, il se pourrait que tu as en visuel 0 alors que c'est 0,00000123 donc la machine considère que c'est pas 0. Donc faudrait utiliser un 0 avec des décimales pour la comparaison, ou tu arrondis dans tes calculs.

    Bonne continuation.

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    J'ai essayer également cette situation en arrondissant la valeur de somme (Ex: 0.01€ = 0)et intégré le code suivant dans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Activate()
        If somme <> 0 Then
        valide.Visible = True
        Else
        valide.Visible = False
        End If
    mais rien de se passe non plus a moins de la mettre dans un autre évenement du formulaire, mais lequel?

    Dur dur, ce truc

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Et si on fait une comparaison par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Activate()
        If Abs(somme)< 0.01 Then
             valide.Visible = True
        Else
             valide.Visible = False
    End If

  11. #11
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Et non, Tjs pareil !!! Mon boton ne s'affiche toujours pas lorsque que "somme" est à 0, et ne s'affuche du coup jamais grrrrr !!!!
    Prise de tête.

    J'ai essayer de cacher ce bouton par un rectangle (dit: rectan)avec les mêmes valeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Activate()
        If Abs(simm) <> 0.01 Then
        rectan.Visible = True
        Else
        rectan.Visible = False
        End If
    End Sub
    mais rien ne se passe...

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Non,

    Je te parle de vérifier si la valeur absolue de la somme est inférieure à 0,01 ou quelque chose mais non de différente à 0.01 (on pourrait réduire cette valeur si nécessaire)

    abs(simm)<0.01 mais non abs(simm)<>0.01

  13. #13
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Effectivement, j'ai fais une erreur de frappe, mais après avoir corriger, c'est toujours le même problème.
    Rien de ce passe.

    Private Sub Form_Activate()
    If Abs(somme) < 0.01 Then
    rectan.Visible = True
    Else
    rectan.Visible = False
    End If
    End Sub


  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Je suis perdu là sans tes données et contextes car j'ai vérifié et ça marche à mon niveau

    Ci-joint une base avec un seul formulaire
    Avec 2 zones de texte indépendantes et un troisième qui fait la somme des 2.
    Une quatrième zone de de texte transcrit les nombres saisis et l'opération (je n'ai mis que l'addition).
    Et le bouton qui s'affiche ou est invisible selon la valeur de la troisième zone de texte <0.01.
    Je n'exploite que l'évènement AprèsMAJ de la deuxième zone de texte.

    Et une copie écrans des différentes valeurs que j'ai essayées.

    Bonne exploration (Je préfère une base sous mdb si c'est nécessaire).

  15. #15
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 77
    Points : 86
    Points
    86
    Par défaut
    Bonjour,

    le problème ne serait-il pas a cause du type monétaire???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Activate()
        If Int(somme)<> 0 Then
             valide.Visible = True
        Else
             valide.Visible = False
    End If
    Sinon il y a peut etre possibilité de mettre ce code sur changement de ta zone somme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub somme_Change()
    .....
    End Sub
    A tester

  16. #16
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Un très grand Merci à madefemere !


    Ca fonctionne parfaitement.
    Je suis très content.
    Un grand Merci à tous !!!

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

Discussions similaires

  1. affichage de radio bouton avec condition
    Par gamiel dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2012, 17h12
  2. Affichage d'un bouton sous condition
    Par Sami Xite dans le forum IHM
    Réponses: 3
    Dernier message: 02/11/2008, 10h44
  3. Affichage sous formulaire selon condition
    Par vivicente dans le forum IHM
    Réponses: 1
    Dernier message: 08/08/2008, 12h01
  4. Affichage variable selon conditions
    Par Kastor45 dans le forum LabVIEW
    Réponses: 1
    Dernier message: 11/04/2008, 00h07
  5. Affichage de boutons selon la page affichée
    Par GwenZephyr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/05/2007, 01h55

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