ACCESS Formulaires Etiquettes

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

  1. 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
    1. Contributeur
      bonjour,

      Désolé mais ça fonctionnait sur mon PC (office 2000 pro, Win XP)
      0
      1. ca ne fonctionne pas du tout!!!

        y-a t-il une autre solution??

        Merci beaucoup
        0
        1. Contributeur
          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
          1. 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
            1. Contributeur
              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