Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème pour masquer des pages d'un contrôle onglet

1 réponse
Avatar
Nathaelle
Bonjour,

Pourriez-vous m'=E9clairer sur le probl=E8me suivant :
pour cr=E9er un formulaire comportant plusieurs pages, j'ai utilis=E9
un contr=F4le Onglet. L'avantage de ce type de contr=F4le =E9tait que
l'on pouvait choisir d'afficher ou de masquer une page donn=E9e
(avec la propri=E9t=E9 visible =3D true or false). Chaque page de mon
contr=F4le onglet contient des informations de diff=E9rente nature. Il
m'a =E9t=E9 demand=E9 de prot=E9ger l'acc=E8s =E0 chacune de ces pages.
mon contr=F4le onglet contient 4 pages au total et j'ai affect=E9 leur
affichage =E0 4 mots de passe diff=E9rents.
Le sch=E9ma est le suivant : dans un premier formulaire, l'utilisateur
choisit son th=E8me, puis en fonction du choix, une macro d=E9clenche le
formulaire o=F9 il doit saisir le mot de passe. Si correct, seule une
des 4 pages de mon contr=F4le onglet doit s'afficher.
Cela ne marche que pour la 1=E8re page de mon contr=F4le onglet. D=E8s que
je saisis le mot de passe pour les 2e, 3e et 4e volets, Access me dit
=AB Impossible de masquer le contr=F4le actif =BB qui serait la 1=E8re
page. Comment faire alors pour que la premi=E8re page ne soit plus le
contr=F4le actif ? J'ai r=E9p=E9t=E9 exactement la m=EAme macro pour les 4
volets en changeant simplement les num=E9ros de pages =E0 masquer. =C7a
marche dans un cas seulement.
La macro qui d=E9clenche l'affichage dit un peu =E7a : si mot de passe
diff=E9rent de ...., msgbox =AB l'acc=E8s vous est refus=E9 ! =BB, arr=EAt
de la macro et le curseur se repositionne sur le champ pr=E9vu pour la
saisie du mot de passe, si mot de passe =3D ...., ouvrir le formulaire
qui contient le contr=F4le en masquant les 3 pages appropri=E9es.
J'esp=E8re que c'est suffisamment clair et que vous pourrez
m'aider.

1 réponse

Avatar
Eric
Bonjour,

Et en mettant le focus sur la page qui t'interesse, avant de masquer, du
genre:
Me.CtlTab0.Pages(1).SetFocus ' la collection commence à 0 donc
focus sur la page 1
Me.CtlTab0.Pages(0).Visible = False
Me.CtlTab0.Pages(1).Visible = True

Bonjour,

Pourriez-vous m'éclairer sur le problème suivant :
pour créer un formulaire comportant plusieurs pages, j'ai utilisé
un contrôle Onglet. L'avantage de ce type de contrôle était que
l'on pouvait choisir d'afficher ou de masquer une page donnée
(avec la propriété visible = true or false). Chaque page de mon
contrôle onglet contient des informations de différente nature. Il
m'a été demandé de protéger l'accès à chacune de ces pages.
mon contrôle onglet contient 4 pages au total et j'ai affecté leur
affichage à 4 mots de passe différents.
Le schéma est le suivant : dans un premier formulaire, l'utilisateur
choisit son thème, puis en fonction du choix, une macro déclenche le
formulaire où il doit saisir le mot de passe. Si correct, seule une
des 4 pages de mon contrôle onglet doit s'afficher.
Cela ne marche que pour la 1ère page de mon contrôle onglet. Dès que
je saisis le mot de passe pour les 2e, 3e et 4e volets, Access me dit
« Impossible de masquer le contrôle actif » qui serait la 1ère
page. Comment faire alors pour que la première page ne soit plus le
contrôle actif ? J'ai répété exactement la même macro pour les 4
volets en changeant simplement les numéros de pages à masquer. Ça
marche dans un cas seulement.
La macro qui déclenche l'affichage dit un peu ça : si mot de passe
différent de ...., msgbox « l'accès vous est refusé ! », arrêt
de la macro et le curseur se repositionne sur le champ prévu pour la
saisie du mot de passe, si mot de passe = ...., ouvrir le formulaire
qui contient le contrôle en masquant les 3 pages appropriées.
J'espère que c'est suffisamment clair et que vous pourrez
m'aider.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr