A voir également:
- Afficher/Masquer un champ sur un Etat - ACCES
- Acces rapide - Guide
- Comment masquer les amis sur facebook - Guide
- Masquer conversation whatsapp - Guide
- Afficher mot de passe wifi android - Guide
7 réponses
Bonjour JEEN,
La solution se trouve du côté de la fonction Vrai/Faux.
Voici un spécimen à titre d'exemple :
=VraiFaux([RéfOpération]=1;"Montant brut de la vente";VraiFaux([RéfOpération]=2;"Montant brut de la vente";"Erreur !"))
NB : Cette fonction est souvent documentée avec l'équivalent anglais : IIF
Vous trouverez facilement sur google
Voir aussi le site de référence : http://access.developpez.com/cours/
***
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
La solution se trouve du côté de la fonction Vrai/Faux.
Voici un spécimen à titre d'exemple :
=VraiFaux([RéfOpération]=1;"Montant brut de la vente";VraiFaux([RéfOpération]=2;"Montant brut de la vente";"Erreur !"))
NB : Cette fonction est souvent documentée avec l'équivalent anglais : IIF
Vous trouverez facilement sur google
Voir aussi le site de référence : http://access.developpez.com/cours/
***
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Merci beaucoup pour ce lien. Ça m'est très utile ! Surtout pour comprendre le code VBA.
Toutefois, je n'arrive pas à faire le lien entre la fonction VraiFaux, et ne pas faire apparaitre mes champs ...
VraiFaux([ChampX]=0; me.[champy].visible=false;me.[champy].visible=true) ?
Toutefois, je n'arrive pas à faire le lien entre la fonction VraiFaux, et ne pas faire apparaitre mes champs ...
VraiFaux([ChampX]=0; me.[champy].visible=false;me.[champy].visible=true) ?
Bonsoir Jeen,
En activant la touche F1, vous obtiendrez l'aide en ligne.
Saisir : IIF dans le champ recherche intuitive.
NB : " " équivaut à -> Ne pas afficher
Ne pas oublier de commencer par le signe = (comme dans EXCEL)
Cordialement
***
La science ne fait que trouver ce qui existe depuis toujours.
REEVES hUBERT.
En activant la touche F1, vous obtiendrez l'aide en ligne.
Saisir : IIF dans le champ recherche intuitive.
NB : " " équivaut à -> Ne pas afficher
Ne pas oublier de commencer par le signe = (comme dans EXCEL)
Cordialement
***
La science ne fait que trouver ce qui existe depuis toujours.
REEVES hUBERT.
Bonjour Jean Jacques,
Merci pour tout vos précieux conseils. ça aide !
Seulement, désolé d'encore abuser, mais j'ai encore un problème...
Lorsque ma fonction est exprimée comme ci-dessous j'ai un message d'erreur : "Problème de compilation - Attendu : numéro de ligne ou étiquette ou instructions ou fin instructions" en me sélectionnant le 1er signe "="
=> =IIf("TRANSPORT_ALLER=0", "", [TRANSPORT_ALLER])
Lorsque je mets cette même fonction sans le 1er signe "=", j'ai un message d'erreur : "Problème de compilation - Attendu : ="
J'ai essayé plusieurs syntaxes, j'ai recherché dans les aides, sur internet et je ne trouve pas la réponse à mon problème. J'ai essayé en incluant des "Private sub... End sub" mais rien n'y fait.
Encore Merci !!!
Merci pour tout vos précieux conseils. ça aide !
Seulement, désolé d'encore abuser, mais j'ai encore un problème...
Lorsque ma fonction est exprimée comme ci-dessous j'ai un message d'erreur : "Problème de compilation - Attendu : numéro de ligne ou étiquette ou instructions ou fin instructions" en me sélectionnant le 1er signe "="
=> =IIf("TRANSPORT_ALLER=0", "", [TRANSPORT_ALLER])
Lorsque je mets cette même fonction sans le 1er signe "=", j'ai un message d'erreur : "Problème de compilation - Attendu : ="
J'ai essayé plusieurs syntaxes, j'ai recherché dans les aides, sur internet et je ne trouve pas la réponse à mon problème. J'ai essayé en incluant des "Private sub... End sub" mais rien n'y fait.
Encore Merci !!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Toutes mes excuses Jeen,
En relisant attentivement, je réalise que je me suis fourvoyé.
Dans votre premier post vous étiez à un poil de la solution. En effet,
dans votre évènement sur Ouverture (si j'ai, cette fois, bien compris) il convient de répéter la syntaxe if/endif comme suit :
Private Sub Report_Open(Cancel As Integer)
If IsNull(Me.<nom_du_champ>) Then
Étiquette29.Visible = False
End If
DoCmd.Maximize
End Sub
Désolé pour le temps perdu
A+
En relisant attentivement, je réalise que je me suis fourvoyé.
Dans votre premier post vous étiez à un poil de la solution. En effet,
dans votre évènement sur Ouverture (si j'ai, cette fois, bien compris) il convient de répéter la syntaxe if/endif comme suit :
Private Sub Report_Open(Cancel As Integer)
If IsNull(Me.<nom_du_champ>) Then
Étiquette29.Visible = False
End If
DoCmd.Maximize
End Sub
Désolé pour le temps perdu
A+
Merci. Mais j'ai un problème de référence circulaire, et si je change le nom du contrôle comme il le suggère, ça me fait un message "#Erreur" sur mon Etat...
Et sinon je me demandais, comment je peux faire la même démarche comme vous faites sur les Étiquettes, parce que dans l'onglet données je n'ai pas de source contrôle mais seulement balises actives. je ne peux rentrer d'expressions.
Merci encore
Et sinon je me demandais, comment je peux faire la même démarche comme vous faites sur les Étiquettes, parce que dans l'onglet données je n'ai pas de source contrôle mais seulement balises actives. je ne peux rentrer d'expressions.
Merci encore
Merci votre aide !!!
J'ai bien fait comme vous m'avez dit. Mais les champs vide de mon Etat persiste à rester visible. Je crois bien que c'est mon fichier qui doit avoir un problème. Après plusieurs essais diverses rien y fait.
Le seul changement que j'ai fait dans le code vous m'avez fournit est d'avoir remplacé "IsNull" par "IsEmpty"...
Enfin Merci pour votre temps !
J'ai bien fait comme vous m'avez dit. Mais les champs vide de mon Etat persiste à rester visible. Je crois bien que c'est mon fichier qui doit avoir un problème. Après plusieurs essais diverses rien y fait.
Le seul changement que j'ai fait dans le code vous m'avez fournit est d'avoir remplacé "IsNull" par "IsEmpty"...
Enfin Merci pour votre temps !
Bonsoir Jeen,
Le sujet du masquage des champs est traité sur ce lien.
Je vous laisse le découvrir :
http://www.vbfrance.com/forum/sujet-CACHER-CHAMP-DANS-ETAT-ACCESS-QD-CELUI-CI_719208.aspx
La solution proposée :
If Not IsNull(Me.Controls("NomduContrôle").value) Then
Me.Controls("NomduContrôle").Visible = True
Me.Controls("Étiquette_Contrôle").Visible = True
Else:
Me.Controls("NomduContrôle").Visible = False
Me.Controls("Étiquette_Contrôle").Visible = False
End If
Le sujet du masquage des champs est traité sur ce lien.
Je vous laisse le découvrir :
http://www.vbfrance.com/forum/sujet-CACHER-CHAMP-DANS-ETAT-ACCESS-QD-CELUI-CI_719208.aspx
La solution proposée :
If Not IsNull(Me.Controls("NomduContrôle").value) Then
Me.Controls("NomduContrôle").Visible = True
Me.Controls("Étiquette_Contrôle").Visible = True
Else:
Me.Controls("NomduContrôle").Visible = False
Me.Controls("Étiquette_Contrôle").Visible = False
End If
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
26 juil. 2011 à 19:57
26 juil. 2011 à 19:57
So war's
Merci.
J'avais trouvé ce forum aussi. J'ai re essayé, une fois en rendant invisible par défaut mes champs et l'autre fois en faisant If ...then ...esle ...end if. Dans les 2 cas, ça ne fonctionne pas. Je pense que les codes ont tout simplement pas d'impact sur mon Etat. Je suis pratiquement sure d'avoir bien fait. J'ai fait plusieurs tests, rien y fait.
En tout cas merci beaucoup pour votre aide !!!
Private Sub Report_Activate()
If Not IsNull(Me.Controls(TOTAL_FRAIS).Value) Then
Me.Controls(TRANSPORT_ALLER).Visible = True
Me.Controls(Etiquette32).Visible = True
End If
End Sub
J'avais trouvé ce forum aussi. J'ai re essayé, une fois en rendant invisible par défaut mes champs et l'autre fois en faisant If ...then ...esle ...end if. Dans les 2 cas, ça ne fonctionne pas. Je pense que les codes ont tout simplement pas d'impact sur mon Etat. Je suis pratiquement sure d'avoir bien fait. J'ai fait plusieurs tests, rien y fait.
En tout cas merci beaucoup pour votre aide !!!
Private Sub Report_Activate()
If Not IsNull(Me.Controls(TOTAL_FRAIS).Value) Then
Me.Controls(TRANSPORT_ALLER).Visible = True
Me.Controls(Etiquette32).Visible = True
End If
End Sub