ACCESS Formulaires Etiquettes

Flori07 Messages postés 5 Statut Membre -  
LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je travaille sur une Base de données ACCESS 2003 en ce moment.
J'ai crée plusieurs formulaires et j'aimerai que dans ces formulaires l'étiquette "Fonction" ne s'affiche pas si le champ est vide..

Comment faire????

Merci de me répondre assez rapidement si possible

Cordialement
F

6 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour

procédure événementielle " sur réception" focus" pour chaque controle (champ...) désiré

Private Sub Nom_Image_GotFocus()
If ControleN <> "" Then
Me.etiquetteN.Visible = True
Else
Me.etiquetteN.Visible = False
End If

if controleP<>"" then
etc...

End Sub

remplace controleN et etiquetteN par tes noms

si tu n'as pas l'habitude:
dans événements de "propriétés" à "réception focus" tu cliques sur les 3 points et ensuite générateur de code et tu recopies ce début de code, à toi de compléter
0
Flori07 Messages postés 5 Statut Membre
 
Merci pour ta réponse mais cela ne focntionne pas où alors je m'y prends trés mal :

j'ai mis ceci :

Private Sub Nom_Image_GotFocus()
If Loyer <> "" Then
Me.Loyer.Visible = True
Else
Me.Loyer.Visible = False
End If

End Sub

il y a une erreur???
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Re,

Excuses moi je m'étais complétement planté

il fallait l'événementiel dans les propriétés du formulaire ( en mode création et plein écran, tu fais un clic droit dans la partie grisée)

ici mon controle (champ) est c_nom et son étiquette c_nom_étiquette (tu as les noms dans les propriétés à l'onglet "autres")

Private Sub Form_Current()
If IsNull(Me.c_nom) Then
Me.c_nom_Étiquette.Visible = False
Else
Me.c_nom_Étiquette.Visible = True
End If

'ensuite tu recommences avec tes autres champs

End Sub
0
Flori07 Messages postés 5 Statut Membre
 
ca ne fonctionne pas du tout!!!

y-a t-il une autre solution??

Merci beaucoup
0

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

Posez votre question
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour,

Désolé mais ça fonctionnait sur mon PC (office 2000 pro, Win XP)
0
LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
 
Il y a très simple!!!

Tu vires l'étiquette de ton contrôle, à la place tu mets une zone de texte (dont tu vires l'étiquette aussi) qui contient =VraiFaux(EstNull(Loyer);"";"Montant du loyer :")

Je le fais tout le temps, c'est ultra pratique, simple, efficace... Si tu copies/colles le format des étiquettes de ton formulaire à cette zone de texte on n'y voit que du feu, la seule "contrainte" étant que tes étiquettes aient une bordure et un fond transparents, évidemment.

Néanmoins, peut-être que ton module ne fonctionnait pas parce que ton loyer n'était pas nul, genre il contenait 0 ou des espaces...? Si c'est le cas:
=VraiFaux(EstNull(Loyer) Ou Loyer=0 Ou Loyer Comme " *";"";"Montant du loyer :")
0