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

Comment trouver le pemier contrôle d'un formulaire ?

6 réponses
Avatar
Paul
Bonjour à tous,

Avec Access 2002,

Comment donner le focus au pemier control d'un formulaire ayant la
TabStop à vrai ?

Je cherche une solution plus élégante que le passage en revue de tous
les contrôles ou par un sendkeys CTL HOME.

Merci d'avance.

--
Bien à vous.
Paul

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

je crois bien que tu as énuméré les deux possibilités les plus courtes. Il
te reste la possibilité de mémorise le controle actif lorsque tu as chargé
ton formulaire. A ce moment-là, pas dans l'évènement Form_Load mais ailleurs
car la fenêtre n'est pas encore active, le Screen.ActiveControl.Name te
donne ce contrôle et tu le places dans un string public pour le récupérer
plus tard.
le plus simple restant le passage en revue et trouver celui qui a l'index de
valeur 0.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Paul" a écrit dans le message de
news:
Bonjour à tous,

Avec Access 2002,

Comment donner le focus au pemier control d'un formulaire ayant la
TabStop à vrai ?

Je cherche une solution plus élégante que le passage en revue de tous
les contrôles ou par un sendkeys CTL HOME.

Merci d'avance.

--
Bien à vous.
Paul



Avatar
Paul
re-bonsoir à tous,

Merci, c'est ce que je pensais hélas.

Je l'intercepte dans le premier current par exemple ?
Ensuite, je le stocke dans un control invisible.
Qu'en penses-tu ?


"Raymond [mvp]" avait énoncé :
Bonsoir.

je crois bien que tu as énuméré les deux possibilités les plus courtes. Il
te reste la possibilité de mémorise le controle actif lorsque tu as chargé
ton formulaire. A ce moment-là, pas dans l'évènement Form_Load mais ailleurs
car la fenêtre n'est pas encore active, le Screen.ActiveControl.Name te
donne ce contrôle et tu le places dans un string public pour le récupérer
plus tard.
le plus simple restant le passage en revue et trouver celui qui a l'index de
valeur 0.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Paul" a écrit dans le message de
news:
Bonjour à tous,

Avec Access 2002,

Comment donner le focus au pemier control d'un formulaire ayant la
TabStop à vrai ?

Je cherche une solution plus élégante que le passage en revue de tous
les contrôles ou par un sendkeys CTL HOME.

Merci d'avance.

--
Bien à vous.
Paul



--
Bien à vous.
Paul


Avatar
Raymond [mvp]
Dans le premier current tu auras le même problème de fenêtre non active. il
faut le mettre dans current mais avec un on error resume next et attendre
le prochain ce qui ne sert à rien.
à mon avis tu reviendras sur la boucle, qui n'est pas longue à écrire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Paul" a écrit dans le message de
news:
re-bonsoir à tous,

Merci, c'est ce que je pensais hélas.

Je l'intercepte dans le premier current par exemple ?
Ensuite, je le stocke dans un control invisible.
Qu'en penses-tu ?



Avatar
Paul
Bonjour à tous,

voui.
La boucle est appelée des dizaines de fois en exécution.

Voilà ce que je propose comme solution :
Mon premier control pourrait avoir un nom générique comme
"FirstControl" dans tous les formulaires.
Connaissant son nom, je peux lui donner le focus quand je veux.

Merci pour les précisions.

"Raymond [mvp]" a utilisé son clavier pour écrire :
Dans le premier current tu auras le même problème de fenêtre non active. il
faut le mettre dans current mais avec un on error resume next et attendre
le prochain ce qui ne sert à rien.
à mon avis tu reviendras sur la boucle, qui n'est pas longue à écrire.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Paul" a écrit dans le message de
news:
re-bonsoir à tous,

Merci, c'est ce que je pensais hélas.

Je l'intercepte dans le premier current par exemple ?
Ensuite, je le stocke dans un control invisible.
Qu'en penses-tu ?



--
Bien à vous.
Paul


Avatar
Raymond [mvp]
Bonjour.

Tu peux faire une fonction public que tu appelles de tes formulaires en
passant l'objet form en paramètre et en récupérant le nom du contrôle. ça ne
fait qu'une seule fonction et bien sûr autant de lignes d'appels que
d'utilisation de le fonction.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Paul" a écrit dans le message de
news:
Bonjour à tous,

voui.
La boucle est appelée des dizaines de fois en exécution.

Voilà ce que je propose comme solution :
Mon premier control pourrait avoir un nom générique comme
"FirstControl" dans tous les formulaires.
Connaissant son nom, je peux lui donner le focus quand je veux.

Merci pour les précisions.


Avatar
Paul
re-bonjour à tous,

Merci Raymond.

"Raymond [mvp]" a formulé la demande :
Bonjour.

Tu peux faire une fonction public que tu appelles de tes formulaires en
passant l'objet form en paramètre et en récupérant le nom du contrôle. ça ne
fait qu'une seule fonction et bien sûr autant de lignes d'appels que
d'utilisation de le fonction.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Paul" a écrit dans le message de
news:
Bonjour à tous,

voui.
La boucle est appelée des dizaines de fois en exécution.

Voilà ce que je propose comme solution :
Mon premier control pourrait avoir un nom générique comme
"FirstControl" dans tous les formulaires.
Connaissant son nom, je peux lui donner le focus quand je veux.

Merci pour les précisions.



--
Bien à vous.
Paul