Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
Vous pouvez utiliser l'action DéfinirValeur pour définir la valeur d'un champ, d'un contrôle ou d'une propriété Microsoft Access dans un formulaire, un formulaire feuille de données ou un état.
Remarque
- Vous ne pouvez pas utiliser l’action DéfinirValeur pour définir la valeur d’une propriété Access qui renvoie un objet.
- Cette action ne sera pas autorisée si la base de données n’est pas approuvée.
Setting
L’action DéfinirValeur utilise les arguments suivants.
Argument de l’action |
Description |
|---|---|
Item |
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 du volet Générateur de macro. Vous devez utiliser la syntaxe complète pour faire référence à cet élément, telle que nom_contrôle (pour un contrôle dans le formulaire ou l’état à partir duquel la macro a été appelée) ou Forms!nom_formulaire!nom_contrôle. Cet argument est obligatoire. |
Expression |
Expression utilisée par Access pour définir la valeur de cet élément. Vous devez toujours utiliser la syntaxe complète pour faire référence à des objets dans l’expression. Par exemple, pour augmenter de 10 pour cent la valeur d’un contrôle Salaire dans un formulaire Employés, utilisez Forms!Employees!Salary*1.1. Cet argument est obligatoire. REMARQUE : n’utilisez pas de 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. This can produce unexpected results if the expression is a string. For example, if you type ="String1" for this argument, Access first evaluates the expression as String1. Il utilise ensuite Chaîne1 comme expression dans cet argument, s’attendant à trouver un contrôle ou une propriété nommé Chaîne1 dans 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'expression et 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 dans un formulaire, un formulaire feuille de données ou un état. Vous pouvez également définir la valeur de presque toutes les propriétés de contrôle, de formulaire et d'état dans n'importe quel affichage. Pour déterminer si une propriété spécifique peut être configurée à l'aide d'une macro et les affichages pouvant être définis, consultez la rubrique d'aide relative à 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!nom_formulaire!nom_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 en utilisant la syntaxe Reports!nom_état!nom_champ, mais il doit y avoir un contrôle dans l’état lié à ce champ, ou le champ doit être référencé dans un contrôle calculé de l’état.
Si vous définissez la valeur d'un contrôle dans un formulaire, l'action DéfinirValeur 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 DéfinirValeur déclenche également le recalcul, mais ce dernier peut ne pas avoir lieu immédiatement. Pour déclencher la mise à jour immédiate et forcer l'exécution du recalcul, utilisez l'action RedessinerObjet. La valeur que vous définissez dans un contrôle à l'aide de l'action DéfinirValeur est également non affectée par un masque de saisie défini 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éfinirValeur dans une macro spécifiée par la propriété de type événement AfterUpdate du contrôle. Toutefois, vous ne pouvez pas utiliser l'action DéfinirValeur dans une macro spécifiée par la propriété de type événement BeforeUpdate d'un contrôle pour modifier la valeur du contrôle (bien que vous puissiez utiliser l'action DéfinirValeur pour modifier la valeur d'autres contrôles). Vous pouvez également utiliser l'action DéfinirValeur dans une macro spécifiée par la propriété AvantMAJ ou AprèsMAJ d'un formulaire pour modifier la valeur de tous les contrôles de l'enregistrement actif.
Remarque
Vous ne pouvez pas utiliser l’action DéfinirValeur pour définir la valeur des contrôles suivants :
- Les contrôles dépendants et les contrôles calculés dans des états.
- Les contrôles calculés dans des formulaires.
Conseil
Vous pouvez utiliser l’action DéfinirValeur pour masquer ou afficher un formulaire en mode Formulaire. Entrez Formulaires ! 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 non modal. 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 des nouvelles données dans un contrôle à l'aide de l'action DéfinirValeur dans une macro ne déclenche pas des événements tels que AvantMAJ, AvantInsertion ou Modifier 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 en langage VBA.
Exemple
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 |
Fermer le formulaire 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édez au contrôle N° catégorie. |