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?
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?
J'ai une piste
Les Cours et tutoriels pour apprendre Access, Les codes Sources Access, Le Forum Access, Offres d'emploi développeur Access et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
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?
Les Cours et tutoriels pour apprendre Access, Les codes Sources Access, Le Forum Access, Offres d'emploi développeur Access et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
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
essaye plutot
Me.DaDépart.Visible = False
et tu as un msg d'erreur ?
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
Mais ça marche pas non plus
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
Si je lis ton code, ça veut dire:Envoyé par SpyesX
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 ]
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
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à
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 :
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 !!!
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
Les Cours et tutoriels pour apprendre Access, Les codes Sources Access, Le Forum Access, Offres d'emploi développeur Access et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
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
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
Voilà ce que j'ai fait avec un test sur groupe d'option:
Je dirai que dans le cas de SpyesX, je ferai un truc comme ça:
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
propriétés de DArrivées:masqué-->oui
Et je rajoute
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 Ifpour être sûr que lorsque je supprime ce qu'il y a dans DArrivée, DDépart s'efface de nouveau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me![DArrivée].requery
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
avec un formulaire continu... le code ne marche pas...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager