Bonjour à tous (encore moi )
J'ai un petit souci de compréhension en ce qui concerne les focus. Voila :
J'ai un formulaire qui contient entre autre un champ calculé "Total", ainsi qu'un sous formulaire. "Total" représente la somme des valeurs de la colonne "SousTotal" du sous formulaire (lui même calculé à partir de deux autres champs du sous formulaire : Pu * quantité).
Le problème est que le champ Total ne s'enregistre dans la base de données que lorqu'il reçoit le focus (ou le curseur ? je ne saisis pas la différence).
J'ai donc voulu jouer avec les "SetFocus" pour l'actualiser à chaque nouvel enregistrement dans le sous formulaire. Pour cela, j'ai écrit dans l'événement Quantité_LostFocus :
puis, pour passer à l'enregistrement suivant dans le sous formulaire quand le total est enregistré, j'ai écrit dans l'événement "Total_GotFocus" (je n'ai pas trouvé comment donner le focus directement à un champ en particulier).
Code : Sélectionner tout - Visualiser dans une fenêtre à part Form_F_FormPrinc.Total.SetFocus
en ajustant ensuite le sous formulaire à l'aide du code, dans "Form_GotFocus"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.SF_SousForm.SetFocus
Mais tout cela ne fonctionne pas. Quand "Quantité" perd le focus, j'ai une erreur qui dit "Impossible d'activer le contrôle SF_SousForm" à la ligne "Me.SF_SousForm.SetFocus".
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.ChampQuiMinteresse.SetFocus
J'ai essayé avec différents événements pour le Total, certains (comme Enter) me marquent "impossible d'activer le contrôle Total" à la ligne "Form_F_FormPrinc.Total.SetFocus", d'autres (comme AfterUpdate) fonctionnent mais avec un petit défaut : quand on appuie sur entrée pour valider la quantité, il passe automatique sur Total, puis, avec un nouvel appui sur entrée, passe à un nouvel enregistrement dans le sous formulaire. C'est exactement ce qu'il me faudrait, au détail près que j'aimerai ne pas avoir à cliquer sur entrée quand le focus est sur Total.
En fait, je voudrai que l'utilisateur ne se rende pas compte que le focus est passé sur le formulaire avant de retourner sur le sous formulaire...
Comment procéder ?
Merci d'avance.
Partager