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 :

[Form] Afficher/Masquer une zone de texte


Sujet :

IHM

  1. #1
    Membre du Club

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut [Form] Afficher/Masquer une zone de texte
    Bonjour,
    J'ai deux zone de textes DDépart et DArrivée.

    J'aimerais afficher DArivée que si DDépart a une valeur
    et
    Masquer DArivée si DDépart n'a pas de valeur ou que je l'efface.

    Quelqun aurait il une piste svp?

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    J'ai une piste


  3. #3
    Membre du Club

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    LOOOOL Celle la, c'est la meilleure réponse que j'ai jamais eu!!! Pas mal, pas mal

    Dans ce cas pourrais tu faire partager ta piste stp?

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par SpyesX
    LOOOOL Celle la, c'est la meilleure réponse que j'ai jamais eu!!! Pas mal, pas mal
    Je ne sais pas pourquoi mais je m'y attendais à celle là....
    Inspire toi de ça trouvé dans la faq
    ou ça trouvé sur le forum.

  5. #5
    Membre du Club

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    Merci
    Voilà ce que j'ai fais mais j'ai un problème... ça marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Date_Départ_Prévue_Exit(Cancel As Integer)
     
    If Me!DDépart = acTextBox Then
       If Nz(DArrivée.Value, "") = "" Then
        Me!DaDépart.Visible = False
    Else
        Me!DArrivée.Visible = True
        End If
    End If
     
    End Sub

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 193
    Points : 171
    Points
    171
    Par défaut
    essaye plutot
    Me.DaDépart.Visible = False


    et tu as un msg d'erreur ?

  7. #7
    Membre du Club

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    Non je n'avais pas et je n'ai toujour pas de message d'erreur. Juste rien qui se passe.

    J'ai modifié ma table et aussi mon formulaire.
    DDépart devient Date_Départ_Prévue
    DArrivée devient Date_Départ_Effective

    Voilà mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Date_Départ_Prévue_Exit(Cancel As Integer)
     
    If Me.Date_Départ_Prévue = acTextBox Then
       If Nz(Date_Départ_Prévue, "") = "" Then
        Me.Date_Départ_Effective.Visible = False
    Else
        Me.Date_Départ_Effective.Visible = True
        End If
    End If
     
    End Sub
    Mais ça marche pas non plus

  8. #8
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    Citation Envoyé par SpyesX
    Merci
    Voilà ce que j'ai fais mais j'ai un problème... ça marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Date_Départ_Prévue_Exit(Cancel As Integer)
     
    If Me!DDépart = acTextBox Then
       If Nz(DArrivée.Value, "") = "" Then
        Me!DaDépart.Visible = False
    Else
        Me!DArrivée.Visible = True
        End If
    End If
     
    End Sub
    Si je lis ton code, ça veut dire:
    si DDépart est un TextBox et si DArrivée à une valeur "" alors je cache DaDépart (quelle est la différence entre DDépart et DaDépart?), sinon DArrivée est visible...

    personellement, j'ai du mal à suivre ta logique...
    J'attend de voir ton code tout propre avent de donner une solution

    [EDIT1: ah ton second code est mieux déjà , mais pourquoi mettre Me!DDépart = acTextBox ? essaye en enlevant cette boucle]
    [EDIT2: pourauoi ne pas mettre le code sur l'événement AfterUpdate ]

  9. #9
    Membre du Club

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    ouais j'ai vu, j'ai mal organisé mon code. Je lui demandais tout à l'envers

    Mais je l'ai refais et il ne marchait pas. J'ai donc essayé le Me. au lieu de Me! mais ça n'a rien changé.

    Le Me.Date_Départ_Prévue = acTextBox Then verifie que le contrôle soit bien une zone de texte selon la FAQ
    http://access.developpez.com/faq/?page=zdt#InvZdt

    Je sais pas si c'est important mais mon formulaire est en mode continu

  10. #10
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    oui mais ce code ne t'est pas utile car tu sais sur quel champ tu travailles. Tu ne travailles pas sur un formulaire en général, mais seulement sur 2 champs
    Donc tu peux l'enlever car je pense que si tu verifies aue c'est un TextBox, tu est sur aue c'est un TextBox...

    De plus tu n'appliques pas le code du lien de la FAQ que tu me montres... Access ne peut pas deviner tout seul que Me.xxxx est un contrôle, tu dois le spécifier.

    Mais bon oublie cette boucle, elle ne te sert pas dans ce cas là

  11. #11
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Tu devrais en 1er lieu :
    mettre par défaut la propriété visible à Faux du champ DArivée
    Ensuite, lorsque DDépart perd le focus tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Isnull(Me.DDépart) then
    Me.DArrivée.visible = true
    Else
    Me.DArrivée.visible = false
    End if
    Le fait que ton formulaire soit en mode continu va poser un problème puisque quand tu cliqueras sur DDépart DArrivée apparaitra partout !!!

  12. #12
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    au final, je crois aue la mise en frome conditionnelle est la meilleur méthode dans ce cas...
    Il y a un tuto dessus qui expliaue tous les détails

  13. #13
    Membre du Club

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    J'espérais que ma deuxième zone de texte ne s'affiche pas toujours à cause du mode continu... En gros ce que je cherche à faire ne sert à rien...
    Je m'étais servi d'un code similaire avec des checkox mais il est vrai que le mode continu complique tout pour un final "sans fin".

    Merci beaucoup quand même et bonne journée
    SpyesX

  14. #14
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Voilà ce que j'ai fait avec un test sur groupe d'option:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Forms!Campagnes!ChoixCA = 1 Then
            E_CodeCA.Visible = False
            CodeCA.Visible = False
            Else
                If Forms!Campagnes!ChoixCA = 2 Then
                    E_CodeCA.Visible = True
                    CodeCA.Visible = True
                End If
        End If
    Je dirai que dans le cas de SpyesX, je ferai un truc comme ça:

    propriétés de DArrivées:masqué-->oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Forms!Campagnes!DDépart = "" Then
            DArrivée.Visible = False
            Else
                If Forms!Campagnes!DDépart <> ""  Then
                    DArrivée.Visible = True
                End If
        End If
    Et je rajoute pour être sûr que lorsque je supprime ce qu'il y a dans DArrivée, DDépart s'efface de nouveau.

    Je ne l'ai pas testé mais selon moi ça devrai marcher (à moins que je ne soit complètement dem..ré ou que je n'ai pas compris ce que demande SpyesX ce qui est toujours possible)

    Bonne continuation,
    Mr White

  15. #15
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    avec un formulaire continu... le code ne marche pas...

Discussions similaires

  1. Afficher/masquer une zone de texte animée.
    Par delpierofoot dans le forum Powerpoint
    Réponses: 1
    Dernier message: 14/06/2009, 17h58
  2. Réponses: 4
    Dernier message: 23/08/2007, 17h23
  3. Afficher/masquer des zones de texte
    Par zaynabe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/07/2007, 12h00
  4. Réponses: 3
    Dernier message: 20/04/2007, 11h20
  5. comment masquer une zone de texte?
    Par casho dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/09/2006, 15h46

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