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

Donner le Focus a un formulaire

9 réponses
Avatar
Luc de Kin
Bonjour,

Comment donner le Focus a un formulaire qd on a plusieurs formulaires et
sous-formulaires a l'ecran ?

Merci,

Luc

9 réponses

Avatar
Raymond [mvp]
Bonjour.

Pour donner le focus à un formulaire principal, il faut tester sa présence
et ensuite faire:
Forms!FormPrincipal.SetFocus
pour donner le focus à un sous-formulaire, il faut tester la présence du
formulaire principal, donner le focus au formulaire principal et faire:
Forms!FormPrincipal.SetFocus
Forms!FormPrincipal![Sous_Formulaire].SetFocus


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Bonjour,

Comment donner le Focus a un formulaire qd on a plusieurs formulaires et
sous-formulaires a l'ecran ?

Merci,

Luc


Avatar
Luc de Kin
RE-BONJOUR,

La reponse "ne fonctionne pas" voici ce que je fais :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False

Il me revient un erreur sur la deuxieme ligne "You can't hide a control that
has the focus" et ce apres une modification d'un enregistrement dans
SousForm2.

Merci deja,

Luc

Bonjour.

Pour donner le focus à un formulaire principal, il faut tester sa présence
et ensuite faire:
Forms!FormPrincipal.SetFocus
pour donner le focus à un sous-formulaire, il faut tester la présence du
formulaire principal, donner le focus au formulaire principal et faire:
Forms!FormPrincipal.SetFocus
Forms!FormPrincipal![Sous_Formulaire].SetFocus


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Bonjour,

Comment donner le Focus a un formulaire qd on a plusieurs formulaires et
sous-formulaires a l'ecran ?

Merci,

Luc







Avatar
Raymond [mvp]
l'explication est très claire, tu ne peux pas rendre invisible le contrôle
qui a le focus. il faut d'abord déplacer le focus ailleurs que dans ce
contrôle et ensuite mettre la propriété à visible = false.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
RE-BONJOUR,

La reponse "ne fonctionne pas" voici ce que je fais :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False

Il me revient un erreur sur la deuxieme ligne "You can't hide a control
that
has the focus" et ce apres une modification d'un enregistrement dans
SousForm2.

Merci deja,

Luc


Avatar
Luc de Kin
Oui, je suis d'accord mais je ne comprends tjrs pas, car les deux lignes :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False



se trouvent "sous" un bouton du formulaire principal : Forms![B50_frmFiche].

Donc, ce qui se passe, c'est que j'introduis des donnees dans le SousForm2
qui a donc le focus, ensuite, je clique sur le bouton du formulaire principal
qui "set" le focus sur lui-meme et donc, je pense, qui fait perdre le focus
au SousForm2 (?).

Ensuite paf... erreur comme decrit plus bas.
Je ne sais pas si tu vois... j'espere car je tourne en rond.
Merci deja,
@+ Luc



l'explication est très claire, tu ne peux pas rendre invisible le contrôle
qui a le focus. il faut d'abord déplacer le focus ailleurs que dans ce
contrôle et ensuite mettre la propriété à visible = false.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
RE-BONJOUR,

La reponse "ne fonctionne pas" voici ce que je fais :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False

Il me revient un erreur sur la deuxieme ligne "You can't hide a control
that
has the focus" et ce apres une modification d'un enregistrement dans
SousForm2.

Merci deja,

Luc







Avatar
Raymond [mvp]
il fallait préciser.

dans ce cas il faut commencer par sauvegarder l'enregistrement avant de
mettre le visible à false

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Oui, je suis d'accord mais je ne comprends tjrs pas, car les deux lignes :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False



se trouvent "sous" un bouton du formulaire principal :
Forms![B50_frmFiche].

Donc, ce qui se passe, c'est que j'introduis des donnees dans le SousForm2
qui a donc le focus, ensuite, je clique sur le bouton du formulaire
principal
qui "set" le focus sur lui-meme et donc, je pense, qui fait perdre le
focus
au SousForm2 (?).

Ensuite paf... erreur comme decrit plus bas.
Je ne sais pas si tu vois... j'espere car je tourne en rond.
Merci deja,
@+ Luc





Avatar
Luc de Kin
Merci... qu'est-ce qu'on peut tourner en rond parfois !
@+


il fallait préciser.

dans ce cas il faut commencer par sauvegarder l'enregistrement avant de
mettre le visible à false

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Oui, je suis d'accord mais je ne comprends tjrs pas, car les deux lignes :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False



se trouvent "sous" un bouton du formulaire principal :
Forms![B50_frmFiche].

Donc, ce qui se passe, c'est que j'introduis des donnees dans le SousForm2
qui a donc le focus, ensuite, je clique sur le bouton du formulaire
principal
qui "set" le focus sur lui-meme et donc, je pense, qui fait perdre le
focus
au SousForm2 (?).

Ensuite paf... erreur comme decrit plus bas.
Je ne sais pas si tu vois... j'espere car je tourne en rond.
Merci deja,
@+ Luc











Avatar
Luc de Kin
Tant pis, au risque de passer pour un C..., quelle commande mettrais-tu sous
ce meme bouton pour enregistrer le record du sous-formulaire en question ?
Merci @+



il fallait préciser.

dans ce cas il faut commencer par sauvegarder l'enregistrement avant de
mettre le visible à false

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Oui, je suis d'accord mais je ne comprends tjrs pas, car les deux lignes :

Forms![B50_frmFiche].SetFocus
Forms![B50_frmFiche]![SousForm1]![SousForm2].Visible = False



se trouvent "sous" un bouton du formulaire principal :
Forms![B50_frmFiche].

Donc, ce qui se passe, c'est que j'introduis des donnees dans le SousForm2
qui a donc le focus, ensuite, je clique sur le bouton du formulaire
principal
qui "set" le focus sur lui-meme et donc, je pense, qui fait perdre le
focus
au SousForm2 (?).

Ensuite paf... erreur comme decrit plus bas.
Je ne sais pas si tu vois... j'espere car je tourne en rond.
Merci deja,
@+ Luc











Avatar
Raymond [mvp]
tu peux mettre:
DoCmd.RunCommand acCmdSaveRecord
si le sous-formulaire a bien le focus.
ou
Forms!FormPrincipal![Sous_Formulaire].Dirty = False
qui est préférable

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Tant pis, au risque de passer pour un C..., quelle commande mettrais-tu
sous
ce meme bouton pour enregistrer le record du sous-formulaire en question ?
Merci @+




Avatar
Luc de Kin
Merci beaucoup...

Luc


tu peux mettre:
DoCmd.RunCommand acCmdSaveRecord
si le sous-formulaire a bien le focus.
ou
Forms!FormPrincipal![Sous_Formulaire].Dirty = False
qui est préférable

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Luc de Kin" a écrit dans le message de
news:
Tant pis, au risque de passer pour un C..., quelle commande mettrais-tu
sous
ce meme bouton pour enregistrer le record du sous-formulaire en question ?
Merci @+