Action de macro AtteindreContrôle

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 l’enregistrement actif du formulaire ouvert, de la feuille de données de formulaire, 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.
Note: Entrez uniquement le nom du champ ou du contrôle dans l’argument Nom du contrôle , et non l’identificateur complet, tel que [Formulaires] ! [Produits] ! [ID de produit] si vous utilisez une base de données de bureau Access.

Remarques

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 à l’aide de l’action AtteindreContrôle pour passer d’abord au sous-formulaire, puis au contrôle sur le 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 : [Formulaires] ! [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é.
Si [CountryRegion] in (« France »,"Italie »,"Espagne ») et Len([code postal]) <> 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.