Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2011, 10h26   #1
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Par défaut Formulaire - Cacher un bouton

Bonjour,

Devant ma nullité en VBA, de nouveau je fais appel à votre savoir.

J'ai un formulaire "Membres" qui comprend un sous-formulaire "Sous_formulaire_cotisations". Dans ce sous-formulaire, j'ai un champ [Année].
Pour cacher un bouton du formulaire [Membres], lorsque le champ [Année] du sous-formulaire est vide, sur l'évennement "Sur activation" du sous formulaire j'ai placé le code suivant :
Code :
1
2
3
4
5
If IsNull(Me.Année_memb) = True Then                ' si le champ Année est vide alors
            Me.Parent.Form!btSupprimer.Visible = False  ' on cache le bouton
            Me.Parent.Form!Boite_sup.Visible = False    ' on cache le cadre
            Me.Parent.Form!mess_sup.Visible = False     ' on cache le nom du cadre
End If
Cela ne fonctionne pas!!

Où est l'erreur?

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2011, 15h20   #2
Membre Expert
 
Avatar de Gabout
 
Inscription : mai 2006
Messages : 1 298
Détails du profil
Informations personnelles :
Âge : 57
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mai 2006
Messages : 1 298
Points : 1 289
Points : 1 289
Bonjour,

Trois remarques :
  1. dans ton message, tu fais allusion à un champ [Année] et dans ton code, tu utilises [Année_memb] ;
  2. essaie de rajouter :
    Code :
    If IsNull(Me.Année) = True Or Me.Année="" Then
  3. enfin, les accents dans le nom des champs peut générer des problèmes, mieux vaut s'en abstenir...
Cordialement,
__________________
Gabout
N'oubliez pas le premier réflexe avant de poser une question : consultez les liens en bas de page
Gabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2011, 17h43   #3
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Bonjour,

Merci pour ta réponse.

Le bouton à cacher dans le formulaire principal permet de supprimer l'enregistrement sélectionné dans le sous-formulaire bien qu'il y a certainement une manière plus élégante.

1. La source contrôle [Année] porte le nom [Année_memb] dans "Autres" de l'assistant. Il s'agit donc du même champ.
2. Sur l'évennement "Sur activation" du sous-formulaire, j'ai placé du code qui si la valeur du champ [Année_memb] < année en cours me cache le bouton et verrouille le formulaire. Et ça fonctionnne.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Form_Current()
 
    If Me.Année < IIf(Month(date) < 9, Year(date) - 1, Year(date)) Then ' si le champs Année est inférieur à la saison en cours alors
            Me.Parent.Form!btSupprimer.Visible = False  ' on cache le bouton
            Me.Parent.Form!Boite_sup.Visible = False    ' on cache le cadre
            Me.Parent.Form!mess_sup.Visible = False     ' on cache le nom du cadre
            Me.Année_memb.Locked = True                 ' on verrouille la saison
            Me.Cotisation_memb.Locked = True            ' on verrouille la cotisation
            Me.Badge_memb.Locked = True                 ' on verrouille le Nr de badge
            Me.Nr_badge_vérifie_memb.Locked = True      ' on verrouille la vérif du badge
            Me.Certif_medical_memb.Locked = True        ' on verrouille le certi médical
            Me.Certificat_scolarité_memb.Locked = True  ' on verrouille le certif scolarité
            Me.Autorisation_parentale_memb.Locked = True  ' on verrouille l'autorisation parentale
            Me.Observation_memb.Locked = True           ' on verrouille les observations
            Me.Date_inscription_memb.Locked = True      ' on verrouille la date d'inscription
            Me.Date_MàJ_memb.Locked = True              ' on verrouille la date de mise à jour
        Else
            Me.Parent.Form!btSupprimer.Visible = True   ' on montre le bouton
            Me.Parent.Form!Boite_sup.Visible = True     ' on montre le cadre
            Me.Parent.Form!mess_sup.Visible = True      ' on montre le nom du cadre
            Me.Année_memb.Locked = False                ' on déverrouille la saison
            Me.Cotisation_memb.Locked = False           ' on déverrouille la cotisation
            Me.Badge_memb.Locked = False                ' on déverrouille le NR de badge
            Me.Nr_badge_vérifie_memb.Locked = False     ' on déverrouille le contrôle du badge
            Me.Certif_medical_memb.Locked = False       ' on déverrouille le certif médical
            Me.Certificat_scolarité_memb.Locked = False ' on déverrouille le certif de scolarité
            Me.Autorisation_parentale_memb.Locked = False ' on déverrouille l'autorisation parentale
            Me.Observation_memb.Locked = False          ' on déverrouille les observations
            Me.Date_inscription_memb.Locked = False     ' on déverrouille la date d'inscription
            Me.Date_MàJ_memb.Locked = False             ' on déverrouille la date de MàJ
    End If
 
End Sub
Je souhaite cacher le bouton si le champ [Année_memb] est vide car dans ce cas il n'y a pas d'enregistrement à supprimer..

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h54.


 
 
 
 
Partenaires

Hébergement Web