Partager via


GoToControl, action de macro

S’applique à : Access 2013, Office 2013

Vous pouvez utiliser l’action AtteindreContrôle 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 mettre le focus sur un champ ou un contrôle particulier. Ce champ ou le contrôle puis utilisable pour des comparaisons ou des actions TrouverEnregistrement. Vous pouvez également utiliser cette action pour naviguer dans un formulaire sous certaines conditions. Par exemple, si l'utilisateur saisit non dans un contrôle conjoint sur un formulaire d'assurance maladie, le focus peut automatiquement passer le contrôle nom du conjoint/partenaire et déplacer vers le contrôle suivant.

Setting

Remarque

Cette action n’est pas disponible pour une utilisation avec les pages d’accès aux données.

L’action AtteindreContrôle possède l’argument suivant.

Argument de l’action

Description

Nom du contrôle

Nom du champ ou du contrôle dans lequel vous souhaitez déplacer le focus. Entrez le champ ou le nom du contrôle dans la zone Nom du contrôle de la section Arguments de l’action du volet Générateur de macros. Cet argument est 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].

Remarques

Vous ne pouvez pas utiliser l’action AtteindreContrôle pour déplacer le focus vers un contrôle sur un formulaire masqué.

Conseil

Vous pouvez utiliser l’action AtteindreContrôle 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 placer le focus sur un contrôle dans un formulaire ou un de ses sous-formulaires, ou à un champ dans une table ouverte, une requête ou une feuille de données de formulaire.

Exemples

Définissez la valeur d’un contrôle en utilisant une macro

La macro suivante ouvre le formulaire Ajouter des produits à partir d'un bouton dans le formulaire Fournisseurs. Elle présente l'utilisation des actions Écho, FermerFenêtre, OuvrirFormulaire, DéfinirValeur et AtteindreContrôle. L'action DéfinirValeur définit le contrôle N° fournisseur dans le formulaire Produits sur le fournisseur actif dans le formulaire Fournisseurs. L'action AtteindreContrôle déplace ensuite le focus vers le champ N° catégorie, où vous pouvez commencer à entrer des données pour le nouveau produit. Cette macro doit être associée au bouton Ajouter des produits dans le formulaire Fournisseurs.

Action

Arguments : Paramètre

Commentaire

Echo

Écho sur: Non

Arrêter l’actualisation de l’écran pendant l’exécution de la macro.

FermerFenêtre

Type d’objet : FormulaireNom de l’objet : Liste des produits Enregistrer : Non

Formulaire Fermer la liste des produits.

OuvrirFormulaire

Nom du formulaire : Produits Affichage : FormulaireMode de données : AjouterMode Fenêtre :Normal

Ouvrir le formulaire Produits.

DéfinirValeur

Élément: [Forms]![Produits]![N° fournisseur] Expression: N° fournisseur

Définissez le contrôle N° fournisseur sur le fournisseur actuel dans le formulaire Fournisseurs.

AtteindreContrôle

Nom du contrôle: N° catégorie

Accéder au contrôle N° 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. Elle illustre l’utilisation des actions ArrêtMacro, ZoneMessage, AnnulerEvénement et AtteindreContrôle. Une expression conditionnelle vérifie le pays/la région et le code postal entrés dans un enregistrement du formulaire. Si le code postal n’est pas dans le format correct pour le pays/la région, la macro affiche une zone de message et annule la sauvegarde de 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é AvantMAJ du formulaire Fournisseurs.

Condition

Action

Arguments : Paramètre

Commentaire

IsNull([CountryRegion])

StopMacro

Si CountryRegion a la valeur Null, le code postal ne peut pas être validé.

[CountryRegion] In (« France »,"Italie »,"Espagne ») et Len([code postal]) <> 5

MessageBox

Message : le code postal doit comporter 5 caractères. Bip : YesType : InformationTitle : Erreur de code postal

Si le code postal ne fait pas 5 caractères, affichez un message.

...

CancelEvent

Annule l’événement.

GoToControl

Nom du contrôle : PostalCode

[CountryRegion] In (« Australia »,"Singapore ») and Len([Postal Code]) <> 4

MessageBox

Message : Le code postal doit contenir 4 caractères. Bip : YesType : InformationTitle : Erreur de code postal

Si le code postal ne fait pas 4 caractères, affichez un message.

...

CancelEvent

Annule l’événement.

GoToControl

Nom du contrôle : PostalCode

([PaysRégion] = "Canada") Et ([Code postal] Différent de "[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 : OuiType : InformationTitle : Erreur de code postal

Si le code postal n’est pas correct pour le Canada, affichez un message. (Exemple de code postal canadien : H1J 1C3.)

...

CancelEvent

Annule l’événement.