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 02/11/2011, 20h48   #1
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 113
Points : 27
Points : 27
Par défaut masquer des champs dans access 2007

Bonjour,
J’ai un formulaire avec une quarantaine de champs. Je voulais masquer ceux qui n’affichent que des valeurs nulles. J’ai fait un code qui fonctionne pour un champ. Ma question est: comment peut on étendre ce code à tous les champs du formulaire sans être obligé de les nommer à chaque fois. Est-ce possible avec mon code que voici :
Code :
1
2
3
4
5
6
7
Private Sub Form_Load()
If IsNull(Me.champ_1) Or Me.champ_1 = 0 Then
Me.champ_1.ColumnHidden = True
Else
Me.champ_1.ColumnHidden = False
End If
 End Sub
Merci
zemblamoh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 05h54   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 623
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 623
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Le but est de parcourir la collection des contrôles de ton formulaire avec une boucle For ... Each.

Tu peux largement t'inspirer de ce qu'il y a dans la FAQ Access :

Comment masquer/rendre invisible toutes les zones de texte vides ?

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 09h49   #3
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 113
Points : 27
Points : 27
Par défaut masquer champs dans un formulaire access 2007

Bonjour,
j'ai consulté la FAQ que vous m'avez proposée. J'ai crée un code approchant, mais j'obtiens l'erreur suivante:
Erreur d'exécution "424"
Objet requis.

Voici le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form_Load()
Dim ctl As Control
'
For Each ctl In FrmTable1.Controls
If ctl.Value = 0 Then
ctl.ColumnHidden = True
Else
ctl.ColumnHidden = False
End If
Next ctl
 
End Sub
Mon formulaire FrmTab1 est en feuille de données et sans zone de texte.
Merci
zemblamoh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 20h37   #4
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 113
Points : 27
Points : 27
Par défaut masquer champs dans un formulaire access 2007

Bonjour,
Voici enfin trouvée la solution à ma question.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Current()
Dim ctrl As Control
'
For Each ctrl In Me.Controls
'Debug.Print ctrl.Name
On Error Resume Next
If IsNumeric(ctrl) Or IsNull(ctrl) Then
s_ctrl = DSum(ctrl.Name, "Table1")
If s_ctrl = 0 Or IsNull(s_ctrl) Then
ctrl.ColumnHidden = True
Else
ctrl.ColumnHidden = False
End If
End If
'
Next
End Sub
Merci
zemblamoh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h55.


 
 
 
 
Partenaires

Hébergement Web