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

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. 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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  4. Flori07 Messages postés 5 Statut Membre
     
    ca ne fonctionne pas du tout!!!

    y-a t-il une autre solution??

    Merci beaucoup
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

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