Méthode CommandButton.SetFocus (Access)

La méthode SetFocusactive le formulaire spécifié, le contrôle spécifié du formulaire actif ou le champ spécifié de la feuille de données active.

Syntaxe

expression. SetFocus

Expression Variable qui représente un objet CommandButton .

Valeur renvoyée

Aucune

Remarques

Utilisez la méthode SetFocus lorsque vous souhaitez qu’un champ ou un contrôle particulier ait le focus afin que toutes les entrées utilisateur soient dirigées vers cet objet.

Pour lire certaines des propriétés d’un contrôle, vous devez vous assurer que le contrôle a le focus. Par exemple, une zone de texte doit avoir le focus que vous puissiez lire sa propriété Text.

Autres propriétés peuvent être définies uniquement lorsqu'un contrôle n'est pas activé. Par exemple, vous ne pouvez pas définir les propriétés d'un contrôle Visible ou activé sur False (0) lorsque que le contrôle a le focus.

Vous pouvez également utiliser la méthode SetFocus pour naviguer dans un formulaire sous certaines conditions. Par exemple, si l'utilisateur sélectionne non applicable pour le premier d'une série de questions sur un formulaire qui est un questionnaire, votre code Visual Basic peut ensuite automatiquement ignorer les questions de ce groupe et placer le focus sur le premier contrôle du prochain groupe de questions.

Vous pouvez déplacer le focus uniquement pour un formulaire ou un contrôle visible. Un formulaire et des contrôles dans un formulaire ne sont pas visibles jusqu'à ce que l'événement Load du formulaire est terminé. Par conséquent, si vous utilisez la méthode SetFocus dans l'événement Load d'un formulaire pour placer le focus à ce formulaire, vous devez utiliser la méthode Repaint avant la méthode SetFocus.

Impossible de déplacer le focus sur un contrôle si sa propriété Enabled est définie sur False. Vous devez définir la propriété Enabled d’un contrôle sur True (1) avant de pouvoir déplacer le focus sur ce contrôle. Vous pouvez, toutefois, déplacer le focus sur un contrôle si sa propriété Locked est définie sur True.

Si un formulaire contient des contrôles dont la propriété Enabled est définie sur True, vous ne peut pas déplacer le focus vers le formulaire proprement dit. Seuls les contrôles de ce formulaire peuvent être activés. Dans ce cas, si vous tentez d'utiliser SetFocus pour activer un formulaire, c'est le dernier contrôle actif du formulaire qui est activé.

Utilisez la méthode SetFocus pour déplacer le focus vers un sous-formulaire, qui est un type de contrôle. Vous pouvez aussi activer un contrôle d’un sous-formulaire en utilisant deux fois la méthode SetFocus, pour activer d’abord le sous-formulaire, puis le contrôle de ce dernier.

Exemple

L’exemple suivant utilise la méthode SetFocus pour déplacer le focus vers une zone de texte EmployeeID sur un formulaire Employés .

Forms!Employees!EmployeeID.SetFocus

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.