Cacher un champ dans un état Access qd celui-ci est vide

orobert01 Messages postés 7 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 21 avril 2006 - 20 avril 2006 à 11:09
Malardrie Messages postés 1 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 20 juin 2008 - 20 juin 2008 à 15:13
Bonjour,
en fait je veux afficher un champ uniquement quand celui-ci est vide sur mon état. Je suppose que pour faire cela, il faut utiliser un code en VBA mais je ne m'y connais pas vraiment donc ...
J'aimerais également attaché à ce champ un espace. Cela signifie que lorsque mon champ a du texte la partie "Détail" de mon état doit être plus grande que qd mon champ est vide. Par contre je ne sais pas si ce 2ème point est réalisable

Merci d'avance
Olivier

5 réponses

orobert01 Messages postés 7 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 21 avril 2006
20 avril 2006 à 11:10
Juste un petit correctif, je veux afficher le champ que lorqu'il n'est pas vide... (j'avais oublier la négation!!

Olivier
0
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
21 avril 2006 à 09:54
rien de plus simple pour le masquage des champs.
Un petit bout de code dans l'événement "Private Sub Report_Activate()" de ton état

If Not IsNull(Me.Controls("NomduContrôle").value) Then
Me.Controls("NomduContrôle").Visible = True
Me.Controls("Étiquette_Contrôle").Visible = True
End If



Pour le second point, il faut que ton champ est la propriété "Auto extensible" et "Auto réductible" avec la valeur oui. La taille de la zone détail est elle de toute façon toujours auto extensible, en fonction des données. Le seul problème à ma connaissance est sur les zones texte qui s'étende en largeurs mais pas en hauteur. Il te faudra certainement modifier par code la hauteur de ta zone en fonction du nombre de caractères qu'elle contient.

Bon courage!
0
orobert01 Messages postés 7 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 21 avril 2006
21 avril 2006 à 10:01
Ok merci pour ton aide, je vais tester cela dans la matinée...

Olivier
0
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
21 avril 2006 à 10:24
J'ai oublier de préciser que par defaut ton champ doit être invisible. sinon tu peux rajouter au code que je t'ai fourni un Else pour prendre en compte les cas ou le champ est null

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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Malardrie Messages postés 1 Date d'inscription mardi 19 mars 2013 Statut Membre Dernière intervention 20 juin 2008
20 juin 2008 à 15:13
Merci pour ton code.
Comment faire pour que l etest se fasse sur tous les enregistrements de la table (ou requête) liée, avec ton code il fait le test sur le premier Controle mais pas sur les suivants.


PS : je suis débutant en VBA mais ne demande qu'à apprendre.
0
Rejoignez-nous