Faire focus sur un TAB d'un CtlTab inclus dans un CtlTab

Résolu/Fermé
bibimtl2x Messages postés 54 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 29 juillet 2024 - 3 déc. 2022 à 21:54
bibimtl2x Messages postés 54 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 29 juillet 2024 - 5 déc. 2022 à 00:03

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

A voir également:

3 réponses

yg_be Messages postés 23329 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 Ambassadeur 1 551
4 déc. 2022 à 09:26

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 « . »:

  1. 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?).
  2. les ! sont évalués quand le code est exécuté
  3. 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
  4. 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.

0
bibimtl2x Messages postés 54 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 29 juillet 2024 1
4 déc. 2022 à 18:25

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 :)

0
yg_be Messages postés 23329 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 1 551
4 déc. 2022 à 20:13

Si tu ne partages pas un fichier, c'est assez compliqué de t'aider précisément.

0
bibimtl2x Messages postés 54 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 29 juillet 2024 1
5 déc. 2022 à 00:03

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 Sub

Encore une fois merci :)

0