Vous pouvez utiliser l’action de macro GoToControl dans les bases de données de bureau Access et les applications web Access pour déplacer le focus vers le champ ou le contrôle spécifié dans le enregistrement actuel de la feuille de données formulaire ouverte , du formulaire feuille de données, de la feuille de données de table ou de la feuille de données de requête. Vous pouvez utiliser cette action lorsque vous souhaitez qu’un champ ou un contrôle particulier ait le focus. Ce champ ou ce contrôle peut ensuite être utilisé pour les comparaisons ou les actions FindRecord . Vous pouvez également utiliser cette action pour naviguer dans un formulaire selon certaines conditions. Par exemple, si l’utilisateur entre Non dans un contrôle Marié sur un formulaire d’assurance maladie, le focus peut automatiquement ignorer le contrôle Nom du conjoint et passer au contrôle suivant.
Paramètre
L’action GoToControl contient l’argument suivant.
|
Argument de l’action |
Description |
|
Nom du contrôle |
Tapez le nom du champ ou du contrôle sur lequel vous souhaitez mettre le focus. Il s’agit d’un argument obligatoire. Remarque : Entrez uniquement le nom du champ ou du contrôle dans l’argument Nom du contrôle, et non l’identificateur complet, tel que [Forms] ![ Produits] ! [ID de produit] si vous utilisez une base de données de bureau Access. |
Notes
Vous ne pouvez pas utiliser l’action de macro GoToControl pour déplacer le focus vers un contrôle sur un formulaire masqué.
Conseil : Vous pouvez utiliser l’action de macro GoToControl pour passer à un sous-formulaire, qui est un type de contrôle. Vous pouvez ensuite utiliser l’action AtteindreEnregistrement pour accéder à un enregistrement particulier dans le sous-formulaire. Vous pouvez également passer à un contrôle sur un sous-formulaire en utilisant l’action AtteindreContrôle pour passer d’abord au sous-formulaire, puis au contrôle du sous-formulaire.
Pour exécuter l’action GoToControl dans un module Visual Basic pour Applications (VBA), utilisez la méthode GoToControl de l’objet DoCmd . Vous pouvez également utiliser la méthode SetFocus pour déplacer le focus vers un contrôle sur un formulaire ou l’un de ses sous-formulaires, ou vers un champ dans une table, une requête ou une feuille de données de formulaire ouverte.
Exemples
Définir la valeur d’un contrôle à l’aide d’une macro
La macro suivante ouvre le formulaire Ajouter des produits à partir d’un bouton du formulaire Fournisseurs. Il montre l’utilisation des actions Echo, Close, OpenForm, SetValue et GoToControl . L’action DéfinirValeur définit le contrôle Id du fournisseur dans le formulaire Produits sur le fournisseur actuel dans le formulaire Fournisseurs. L’action GoToControl déplace ensuite le focus sur le champ ID de catégorie, où vous pouvez commencer à entrer des données pour le nouveau produit. Cette macro doit être attachée au bouton Ajouter des produits dans le formulaire Fournisseurs.
|
Action |
Arguments : Paramètre |
Commentaire |
|
Echo |
Echo On : Non |
Arrêter la mise à jour de l’écran pendant l’exécution de la macro. |
|
Fermer |
Type d’objet : Formulaire Nom de l’objet : Liste des produits Enregistrer : Non |
Formulaire Fermer la liste des produits. |
|
OpenForm |
Nom du formulaire : Produits Affichage : Formulaire Mode données : Ajouter Mode fenêtre : Normal |
Ouvrez le formulaire Produits. |
|
SetValue |
Élément : [Forms] ![ Produits] ! [SupplierID] Expression : SupplierID |
Définissez le contrôle Id du fournisseur sur le fournisseur actuel dans le formulaire Fournisseurs. |
|
GoToControl |
Nom du contrôle : CategoryID |
Accédez au contrôle ID de catégorie. |
Valider des données à l’aide d’une macro
La macro de validation suivante vérifie les codes postaux entrés dans un formulaire Fournisseurs. Il montre l’utilisation des actions StopMacro, MessageBox, CancelEvent et GoToControl . Une expression conditionnelle vérifie le pays/la région et le code postal entrés dans un enregistrement sur le formulaire. Si le code postal n’est pas au format approprié pour le pays/la région, la macro affiche une boîte de message et annule l’enregistrement. La macro vous renvoie ensuite au contrôle Code postal, où vous pouvez corriger l’erreur. Cette macro doit être attachée à la propriété BeforeUpdate du formulaire Fournisseurs.
|
Condition |
Action |
Arguments : Paramètre |
Commentaire |
|
If IsNull([CountryRegion]) |
StopMacro |
Si CountryRegion a la valeur Null, le code postal ne peut pas être validé. |
|
|
If [CountryRegion] In (« France »,"Italie »,"Spain ») and Len([Postal Code]) <> 5 |
Messagebox |
Message : le code postal doit comporter 5 caractères. Bip : Oui Type : Informations Titre : Erreur de code postal |
Si le code postal ne comprend pas 5 caractères, affichez un message. |
|
CancelEvent |
Annulez l’événement. |
||
|
GoToControl |
Nom du contrôle : PostalCode |
||
|
If [CountryRegion] In (« Australia »,"Singapore ») and Len([Postal Code]) <> 4 |
Messagebox |
Message : le code postal doit être de 4 caractères. Bip : Oui Type : Informations Titre : Erreur de code postal |
Si le code postal ne comprend pas 4 caractères, affichez un message. |
|
CancelEvent |
Annulez l’événement. |
||
|
GoToControl |
Nom du contrôle : PostalCode |
||
|
Si ([CountryRegion] = « Canada ») et ([code postal] not like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9] ») |
Messagebox |
Message : le code postal n’est pas valide. Exemple de code canadien : H1J 1C3 Bip : Oui Type : Informations Titre : Erreur de code postal |
Si le code postal n’est pas correct pour le Canada, affichez un message. (Exemple de code canadien : H1J 1C3) |
|
CancelEvent |
Annulez l’événement. |