Faire focus sur un TAB d'un CtlTab inclus dans un CtlTab
Résolubibimtl2x Messages postés 54 Statut Membre -
Bonjour, petit problème de syntaxe ici, voilà :
Dans mon formulaire
frm_Travail
j’ai un CtlTab62
et le tab # 10 contient un sous formulaire [Frm_sub_form_audit] qui contient CtlTab18
Dans mon CtlTab62 tab 1 je voudrais avoir un bouton qui lui vas faire focus sur le tab 3 de mon CtlTab18 qui lui-même est dans mon CtlTab62
J’ai essayé (sans succès) genre :
Me.Parent![Frm_sub_form_audit].CtlTab18.Pages(3).SetFocus
Me.Parent.CtlTab62.Pages(10). CtlTab18.Pages(3).SetFocus
Me.Parent.CtlTab62.Pages(10). [Frm_sub_form_audit].CtlTab18.Pages(3).SetFocus
Donc une idée de quel serait la bonne syntaxe?
Merci..
P.s. je sais jamais quand faut mettre un « ! » ou un « . » si on peut me dire la différence ca m’aiderait surement aussi
Windows / Chrome 108.0.0.0
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
Ces tab 3 et 10 n'ont pas de nom?
Si tu ne partages pas un fichier, c'est assez compliqué de t'aider précisément.
De mon expérience, la différence entre « ! » ou un « . »:
- les . sont évalués au moment où le code est compilé (tu sais que tu peux compiler ton code, pour détecter une série de problèmes avant même de l'exécuter?).
- les ! sont évalués quand le code est exécuté
- au moment de la compilation, le Parent est inconnu, le VBE ne peut pas "deviner" quel sera le parent au moment de l'exécution
- donc Me.Parent!
Il existe différentes techniques pour "explorer" un objet "pendant" que le code est exécuté. Cela aide parfois à découvrir comment écrire cela convenablement. C'est pour cela, entr'autres, que je peux plus facilement t'aider avec ton fichier.
-
Désolé je pensais pas que le nom des tab était important, alors voici en graphique le fichier accès concerné
frm_Travail
CtlTab62
TAB 0>Résumé
TBL_résumé_etat sous-formulaire
-----------------
Tab 10 >Audit
Frm_sub_form_audit
CtlTab18
Tab 3 >GARANTIES, CPs & CONDITIONS DÉBOUR
frm_sub_form_audit_garanties
-----------------------
en résumé en cliquant sur un bouton dans l'onglet Résumé de mon CtlTab62 je veux voir l'onglet "GARANTIES, CPs & CONDITIONS DÉBOUR" de mon sous CtlTab18 ( tab 3)
J'espère que c plus claire:)
merci :)
-
je comprend, mais ma base de données a déjà 20 tables différentes, avec des donnes réel de client c'est compliquer de tout vider et remplir avec un faux exemple :)
Mais encore une fois vous m’avez dirigé vers une solution, les nom de tab au lieu de numéro, je réussi à faire ce que je veux de cette cette façon, sur mon code je lui dit de faire le focus sur mon tab et ensuite mon "sous-tab" :) et ça marche :)
Private Sub Commande85_Click() Me.Parent.CtlTab62.Pages(10).SetFocus Forms![frm_Travail]![Frm_sub_form_audit]![GARANTIES, CPs & CONDITIONS DÉBOURSÉ].SetFocus End SubEncore une fois merci :)
