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 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.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.