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. 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
    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
        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. ca ne fonctionne pas du tout!!!

          y-a t-il une autre solution??

          Merci beaucoup
          0
          1. Contributeur
            bonjour,

            Désolé mais ça fonctionnait sur mon PC (office 2000 pro, Win XP)
            0
            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