Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Vous pouvez utiliser l’action de macro SetValue pour définir la valeur d’un champ, contrôle ou propriété Access sur un formulaire, un formulaire feuille de données ou un état.

Remarque : Vous ne pouvez pas utiliser l’action de macro SetValue pour définir la valeur d’une propriété Access qui retourne un objet.

Remarque : Cette action ne sera pas autorisée si la base de données n’est pas approuvée.

Paramètre

L’action de macro SetValue contient les arguments suivants.

Argument de l’action

Description

Élément

Nom du champ, du contrôle ou de la propriété dont vous souhaitez définir la valeur. Entrez le nom du champ, du contrôle ou de la propriété dans la zone Élément de la section Arguments de l’action de la fenêtre de conception de macro. Vous devez utiliser la syntaxe complète pour faire référence à cet élément, par exemple controlname (pour un contrôle sur le formulaire ou l’état à partir duquel le macro a été appelé) ou Forms ! formname ! controlname. Il s’agit d’un argument obligatoire.

Expression

Le expression Access utilise pour définir la valeur de cet élément. Vous devez toujours utiliser la syntaxe complète pour faire référence à tous les objets de l’expression. Par exemple, pour augmenter de 10 % la valeur d’un contrôle Salaire sur un formulaire Employés, utilisez Forms!Employees!Salary*1.1. Il s’agit d’un argument obligatoire.

Remarque : Vous ne devez pas utiliser un signe égal (=) avant l’expression dans cet argument. Si vous le faites, Access évalue l’expression, puis utilise cette valeur comme expression dans cet argument. Cela peut produire des résultats inattendus si l’expression est une chaîne.

Par exemple, si vous tapez ="String1 » pour cet argument, Access évalue d’abord l’expression comme String1. Ensuite, il utilise String1 comme expression dans cet argument, en attendant de trouver un contrôle ou une propriété nommé String1 sur le formulaire ou l’état qui a appelé la macro.

Remarque : Dans une base de données Access (.mdb ou .accdb), cliquez sur le bouton Générer pour utiliser le Générateur d’expressions afin de créer une expression pour l’un de ces arguments.

Remarques

Vous pouvez utiliser cette action pour définir une valeur pour un champ ou un contrôle sur un formulaire, une feuille de données de formulaire ou un état. Vous pouvez également définir la valeur pour presque toutes les propriétés de contrôle, de formulaire et d’état dans n’importe quel affichage. Pour savoir si une propriété particulière peut être définie à l’aide d’une macro et quelles vues elle peut être définie, consultez la rubrique d’aide de cette propriété dans Visual Basic Editor.

Vous pouvez également définir la valeur d’un champ dans la table sous-jacente d’un formulaire, même si le formulaire ne contient pas de contrôle lié au champ. Utilisez la syntaxe Forms ! formname ! fieldname dans la zone Élément pour définir la valeur d’un tel champ. Vous pouvez également faire référence à un champ dans la table sous-jacente d’un rapport à l’aide de la syntaxe Rapports ! reportname ! fieldname, mais il doit y avoir un contrôle sur le rapport lié à ce champ, ou le champ doit être référencé dans un contrôle calculé sur le rapport.

Si vous définissez la valeur d’un contrôle sur un formulaire, l’action de macro SetValue ne déclenche pas les règles de validation au niveau du formulaire du contrôle, mais elle déclenche les règles de validation au niveau de la table du champ sous-jacent si le contrôle est un contrôle lié. L’action de macro SetValue déclenche également le recalcul, mais le recalcul peut ne pas se produire immédiatement. Pour déclencher une remise en forme immédiate et forcer la fin du recalcul, utilisez l’action de macro RepaintObject . La valeur que vous définissez dans un contrôle à l’aide de l’action de macro SetValue n’est pas non plus affectée par une masque de saisie définie dans la propriété InputMask du contrôle ou du champ sous-jacent.

Pour modifier la valeur d’un contrôle, vous pouvez utiliser l’action SetValue dans une macro spécifiée par la propriété d’événement AfterUpdate du contrôle. Toutefois, vous ne pouvez pas utiliser l’action SetValue dans une macro spécifiée par la propriété d’événement BeforeUpdate d’un contrôle pour modifier la valeur du contrôle (bien que vous puissiez utiliser l’action SetValue pour modifier la valeur d’autres contrôles). Vous pouvez également utiliser l’action SetValue dans une macro spécifiée par la propriété BeforeUpdate ou AfterUpdate d’un formulaire pour modifier la valeur des contrôles dans l’enregistrement actif.

Remarque : Vous ne pouvez pas utiliser l’action de macro SetValue pour définir la valeur des contrôles suivants :

  • Contrôles liés et contrôles calculés sur les rapports.

  • Contrôles calculés sur les formulaires.

Conseils

Vous pouvez utiliser l’action de macro DéfinirValeur pour masquer ou afficher un formulaire en mode Formulaire. Entrez Forms !formname. Visible dans la zone Élément et Non ou Oui dans la zone Expression . La définition de la propriété Visible d’un formulaire modal sur Non masque le formulaire et le rend sans mode. Définir la propriété sur Oui affiche le formulaire et le rend à nouveau modal.

La modification de la valeur de ou l’ajout de nouvelles données dans un contrôle à l’aide de l’action SetValue dans une macro ne déclenche pas d’événements tels que BeforeUpdate, BeforeInsert ou Change qui se produisent lorsque vous modifiez ou entrez des données dans ces contrôles dans l’interface utilisateur. Ces événements ne se produisent pas non plus si vous définissez la valeur du contrôle à l’aide d’un module Visual Basic pour Applications (VBA).

Cette action n’est pas disponible dans un module VBA. Définissez la valeur directement dans VBA.

Exemple

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 de macro Echo, Close, OpenForm, SetValue et GoToControl . L’action SetValue définit le contrôle SupplierID sur le formulaire Products sur le fournisseur actuel dans le formulaire Fournisseurs. L’action GoToControl déplace ensuite le focus vers le champ CategoryID, 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

Fermez le formulaire 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 SupplierID sur le fournisseur actuel dans le formulaire Fournisseurs.

GoToControl

Nom du contrôle : CategoryID

Accédez au contrôle CategoryID.

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.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×