Sur un formulaire possédant des pages-onglets, je voudrais rendre invisibles les onglets ne possédant pas de contrôle (donc vierge) au moment de l'activation d'un enregistrement
Par avance Merci
Cordialement
José
Sur un formulaire possédant des pages-onglets, je voudrais rendre invisibles les onglets ne possédant pas de contrôle (donc vierge) au moment de l'activation d'un enregistrement
Par avance Merci
Cordialement
José
Bonjour,
Tu as une propriété Visible dans un contrôle Onglet donc, il te suffit de vérifier avec une fonction que les enregsitrements existent...
Exemple (si la page 4 est la page à masquer) :
Argy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If VerifierEnregitrement(MonSelectWhere, MaValeurID) = True Then CtlTab0.Pages(4).Visible=True Else CtlTab0.Pages(4).Visible=False End If
Ma question a été très mal formulé
Je voudrais un code qui boucle sur chaque onglet, vérifie que sur chaque onglet les champs sont Null (met leur Propriété "Visible" à False, puis la Propriété "Visible" de l'onglet lui-même à False)
Merci pour la 1ère réponse déjà envoyé
Eh bien voilà une solution (à peaufiner)
J'ai 2 Zdt sur la page 1 et 3 sur la page 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function AfficherChamp(ByVal ValeurChamp As Variant) As Boolean AfficherChamp = Not (IsNull(ValeurChamp)) End FunctionArgy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub Form_Load() Dim NombredeChampParPage As Integer Dim IndexPage As Integer IndexPage = -1 For Each p In CtlTab0.Pages IndexPage = IndexPage + 1 Select Case IndexPage Case 0 'Nombre de champ=2 Texte1.Visible = AfficherChamp(Me!Texte1) NombredeChampParPage = NombredeChampParPage + IIf(Texte1.Visible, 0, 1) Texte2.Visible = AfficherChamp(Me!Texte2) NombredeChampParPage = NombredeChampParPage + IIf(Texte2.Visible, 0, 1) If NombredeChampParPage = 2 Then CtlTab0.Pages(IndexPage).Visible = False Case 1 'Nombre de champ=3 Texte3.Visible = AfficherChamp(Me!Texte3) NombredeChampParPage = NombredeChampParPage + IIf(Texte1.Visible, 0, 1) Texte4.Visible = AfficherChamp(Me!Texte4) NombredeChampParPage = NombredeChampParPage + IIf(Texte1.Visible, 0, 1) Texte5.Visible = AfficherChamp(Me!Texte5) NombredeChampParPage = NombredeChampParPage + IIf(Texte1.Visible, 0, 1) If NombredeChampParPage = 3 Then CtlTab0.Pages(IndexPage).Visible = False End Select NombredeChampParPage = 0 Next End Sub
Merci Argy
Avec quelques modifications c'était parfait
A bientôt
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager