DéfinirValeur, action de macro

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

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

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

Paramètre

L’action de macro ValeurValeurs possède 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 création de macro. Vous devez utiliser la syntaxe complète pour faire référence à cet élément, par exemple, nom du contrôle (pour un contrôle sur le formulaire ou état à partir duquel la macro a été appelée) ou Formulaires! formname! nom du contrôle. Il s’agit d’un argument obligatoire.

Expression

Le expression Qu’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 dans 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 de cet argument. Si c’est le cas, 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 ="Chaîne1 » pour cet argument, Access évalue d’abord l’expression en tant que Chaîne1. Il utilise ensuite String1 comme expression dans cet argument, en attendant la recherche d’un contrôle ou d’une propriété nommé String1 sur le formulaire ou état qui appelait la macro.

Remarque : Dans une base de données Access (.mdb ou .accdb), cliquez sur le bouton Créer 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 la valeur d’un champ ou d’un contrôle sur un formulaire, une feuille de données de formulaire ou un état. Vous pouvez également définir la valeur de la quasi-totalité des propriétés de contrôle, de formulaire et d’état dans n’importe quel affichage. Pour déterminer si une propriété particulière peut être définie à l’aide d’une macro et dans quels affichages elle peut être définie, consultez la rubrique d’aide de cette propriété dans l’Visual Basic Éditeur.

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! nom de champ 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 état à l’aide de la syntaxe Rapports! reportname! nom_champ,mais il doit y avoir un contrôle sur l’état lié à ce champ, ou le champ doit être référent dans une contrôle calculé de l’état.

Si vous définissez la valeur d’un contrôle sur un formulaire, l’action de macro DéfinirValval ne déclenche pas les règles de validation au niveau du formulaire du contrôle, mais 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 DéfinirValeurs déclenche également le recalcul, mais le recalcul peut ne pas se produire immédiatement. Pour déclencher une recréation immédiate et forcer l’achèvement 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 DéfinirValval 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 DéfinirValifier dans une macro spécifiée par la propriété de événement AfterUpdate du contrôle. Toutefois, vous ne pouvez pas utiliser l’action DéfinirValifier dans une macro spécifiée par la propriété de cas BeforeUpdate d’un contrôle pour modifier la valeur du contrôle (bien que vous pouvez utiliser l’action ValeurDate pour modifier la valeur d’autres contrôles). Vous pouvez également utiliser l’action DéfinirValifier dans une macro spécifiée par la propriété BeforeUpdate ou AfterUpdate d’un formulaire pour modifier la valeur de tous les contrôles de l’enregistrement actuel.

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

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

  • Contrôles calculés sur les formulaires.

Conseils

Vous pouvez utiliser l’action de macro DéfinirValval 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 modal la propriété Visible d’un formulaire sur Non masque le formulaire et rend celui-ci non modé. La définition de la propriété sur Oui affiche le formulaire et le rend à nouveau modal.

La modification de la valeur ou l’ajout de nouvelles données dans un contrôle à l’aide de l’action Valeur Définie dans une macro ne déclenche pas d’événements tels que BeforeUpdate,BeforeInsertou Change qui se produisent lorsque vous modifiez ou entrez des données dans ces contrôles dans l’interface utilisateur. De même, ces événements ne se produisent pas 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 sur le formulaire Fournisseurs. Il montre l’utilisation des actions de macros Echo,Close,OpenForm,SetValueet GoToControl.L’action DéfinirValeurs définit le contrôleId Supplier du formulaire Produits sur le fournisseur actuel sur le formulaire Fournisseurs. L’action GoToControl place ensuite le focus sur le champ CategoryID dans lequel vous pouvez commencer à entrer des données pour le nouveau produit. Cette macro doit être jointe au bouton Ajouter des produits sur 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.

Clôture

Type d’objet: Formulaire

Nom de l’objet: Liste de produits

Enregistrer: Non

Fermez le formulaire Liste de 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 N supplierID sur le fournisseur actuel sur le formulaire Fournisseurs.

GoToControl

Nom du contrôle: CategoryID

Dans le contrôle CategoryID,

Besoin d’aide ?

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×