Présentation des Expressions

Microsoft Access vous permet d’utiliser des expressions pour effectuer toutes sortes de tâches, comme l’exécution de calculs mathématiques, la combinaison ou l’extraction de texte, ou la validation de données. Cet article fournit des informations générales sur les expressions (indications d’utilisation, composants et différence avec les formules Microsoft Excel).

Présentation des expressions

Pour permettre à Access d’effectuer une action, vous devez parler son langage. Par exemple, supposons que vous vouliez demander à Access « Examine le champ DateNaissance de la table Clients et renvoie-moi l’année de naissance du client ». Vous pouvez écrire cette expression comme suit :

DatePart("yyyy",[Customers]![BirthDate])

Cette expression est composée de la fonction PartDate et de deux valeurs d’argument : “yyyy” et [Customers]![BirthDate].

Examinons cette expression plus en détail.

Exemple d’expression

1 PartDate est une fonction qui examine une date et renvoie une partie spécifique. Dans ce cas, les deux premiers arguments sont utilisés.

2 L’argument d’intervalle indique à Access la partie de la date à renvoyer. Dans ce cas, “yyyy” indique à Access que vous souhaitez uniquement renvoyer la partie Année de la date.

3 L’argument de date indique à Access où rechercher la valeur de date. Dans ce cas, [Customers]![BirthDate] indique à Access de rechercher la date dans le champ DateNaissance de la table Clients.

Modes d’utilisation des expressions

Vous pouvez utiliser des expressions pour :

  • Calculer des valeurs qui n’existent pas directement dans vos données. Vous pouvez également calculer les valeurs des champs inclus dans les tables et requêtes, de même que les valeurs des contrôles figurant sur les formulaires et états.
  • Définir une valeur par défaut pour un champ de table ou un contrôle figurant sur un formulaire ou état. Ces valeurs par défaut apparaissent chaque fois que vous ouvrez une table, un formulaire ou un état.
  • Créer une règle de validation afin de déterminer les valeurs que les utilisateurs peuvent entrer dans un champ ou un contrôle.
  • Définir les critères d’une requête pour limiter les résultats à un sous-ensemble souhaité.

Calculer des valeurs

Dans Access, les expressions sont souvent utilisées pour calculer des valeurs qui n’existent pas directement dans les données. Une colonne de table ou de requête résultant d’un calcul de ce type est appelée un champ calculé. Vous pouvez créer un champ calculé combinant deux champs de table, ou plus. Par exemple, de nombreuses tables stockent les noms et les prénoms dans des champs distincts. Si vous souhaitez combiner ces noms et prénoms et les afficher dans un champ unique, vous pouvez créer un champ calculé dans la table ou dans une requête :

[FirstName] & " " & [LastName].

Dans ce cas, les esperluettes (&) combinent la valeur du champ FirstName, un espace (placé entre guillemets) et la valeur du champ LastName.

Définir une valeur par défaut

Dans Access, vous pouvez également utiliser des expressions pour fournir une valeur par défaut à un champ de table ou à un contrôle. Par exemple, pour définir la valeur par défaut d’un champ de date sur la date du jour, dans la zone de propriété Valeur par défaut de ce champ, vous entrez :

Date()

Créer une règle de validation

Par ailleurs, vous pouvez utiliser une expression pour définir une règle de validation. Par exemple, vous pouvez utiliser une règle de validation dans un champ de table ou dans un contrôle pour exiger que la date entrée soit supérieure ou égale à la date du jour. Dans ce cas, vous définissez la valeur de la zone de propriété Valide si sur :

>= Date()

Définir les critères d’une requête

Enfin, vous pouvez utiliser une expression pour définir les critères d’une requête. Par exemple, supposons que vous voulez consulter les ventes de produits pour les commandes expédiées au cours d’une certaine période. Vous pouvez entrer des critères pour définir une plage de dates. Access renvoie alors les seules lignes qui correspondent aux critères. Par exemple, votre expression peut ressembler à ceci :

Between #1/1/2017# And #12/31/2017#

Lorsque vous ajoutez des critères à la requête, puis exécutez celle-ci, elle renvoie uniquement les valeurs qui correspondent aux dates spécifiées.

Exemples d’expressions

Le tableau suivant répertorie quelques exemples d’expressions Access et leur utilisation :

Expression Objectif
=[RequiredDate]-[ShippedDate] Calcule la différence entre les valeurs de date de deux contrôles de zone de texte (appelés DateRequise et DateExpédition) figurant sur un état.
Date() Définit la valeur par défaut d’un champ de table Date/heure sur la date du jour.
Between #1/1/2017# And #12/31/2017# Spécifie des critères d’un champ Date/heure inclus dans une requête.
=[Orders Subform].Form!OrderSubtotal Renvoie la valeur du contrôle SousTotalCommande figurant sur le sous-formulaire Commandes du formulaire Commandes.
>0 Définit une règle de validation pour un champ numérique inclus dans une table. Les utilisateurs doivent entrer des valeurs supérieures à zéro.

Certaines expressions commencent par l’opérateur égal (=), et d’autres non. Lorsque vous calculez la valeur d’un contrôle figurant sur un formulaire ou état, vous utilisez l’opérateur = en début d’expression. Dans d’autres cas, par exemple lorsque vous saisissez une expression dans une requête ou dans la propriété ValeurParDéfaut ou ValideSi d’un champ ou d’un contrôle, vous n’utilisez pas l’opérateur =, sauf si vous ajoutez l’expression à un champ de texte inclus dans une table. Dans certains cas, comme lorsque vous ajoutez des expressions à des requêtes, Access supprime automatiquement l’opérateur =.

Composants des expressions

Une expression comprend différents composants que vous pouvez utiliser seuls ou combinés pour produire un résultat. Ces composants sont les suivants :

  • Identificateurs    Il s’agit des noms des champs de table ou des contrôles inclus dans les formulaires ou états, ou des propriétés de ces champs ou contrôles.
  • Opérateurs    Par exemple, les signes + (plus) ou  (moins).
  • Fonctions    Par exemple, SOMME ou MOYENNE.
  • Constantes    Il s’agit de valeurs immuables, comme les chaînes de texte ou les nombres qui ne sont pas calculés par une expression.
  • Valeurs    Chaînes (par exemple, « Entrer un nombre compris entre 1 et 10 ») ou nombres (par exemple, 1 254) utilisés dans les opérations.

Les sections suivantes décrivent ces composants de façon détaillée.

Identificateurs

Un identificateur est le nom d’un champ, d’une propriété ou d’un contrôle. Vous pouvez utiliser un identificateur dans une expression pour faire référence à la valeur associée à un champ, une propriété ou un contrôle. Par exemple, examinez l’expression =[RequiredDate]-[ShippedDate]. Cette expression soustrait la valeur du champ ou contrôle ShippedDate de la valeur du champ ou contrôle RequiredDate. Dans cette expression, RequiredDate et ShippedDate font office d’identificateurs.

Opérateurs

Access prend en charge différents types d’opérateurs, y compris les opérateurs arithmétiques courants tels que +* (multiplication) et / (division). Vous pouvez également utiliser des opérateurs de comparaison tels que < (inférieur à) ou > (supérieur à) pour comparer des valeurs, des opérateurs de texte tels que & et + pour la concaténation (combinaison) de texte, des opérateurs logiques tels que Not et And pour déterminer les valeurs vraies ou fausses, et d’autres opérateurs spécifiques d’Access.

Fonctions

Les fonctions sont des procédures prédéfinies que vous pouvez utiliser dans vos expressions. Les fonctions vous permettent d’effectuer différents types d’opérations, comme le calcul de valeurs, la manipulation de texte et de dates, et la synthèse de données. Par exemple, DATE est une fonction couramment utilisée pour renvoyer la date actuelle. Vous pouvez utiliser la fonction DATE de différentes façons, par exemple dans une expression qui définit la valeur par défaut d’un champ inclus dans une table. Dans cet exemple, chaque fois qu’un utilisateur ajoute un nouvel enregistrement, la valeur du champ est définie par défaut sur la date du jour.

Certaines fonctions nécessitent des arguments. Un argument est une valeur qui fournit une entrée à la fonction. Si une fonction nécessite plusieurs arguments, vous devez séparer ceux-ci avec une virgule. Par exemple, examinez la fonction DATE de l’exemple d’expression suivant :

=Format(Date(),"mmmm d, yyyy")

Cet exemple utilise deux arguments :

  • Le premier argument est la fonction Date() qui renvoie la date du jour. En l’absence d’arguments, vous devez ajouter les parenthèses de fonction.
  • Le deuxième argument “mmmm d, yyyy”, séparé du premier par une virgule, spécifie une chaîne de texte pour indiquer à la fonction FORMAT comment mettre en forme la valeur de date renvoyée. Notez que la chaîne de texte doit être placée entre guillemets.

Cette expression illustre également que vous pouvez souvent imbriquer la valeur renvoyée par une fonction en tant qu’argument dans une autre fonction. Dans ce cas, Date() fait office d’argument.

Constantes

Une constante est un élément dont la valeur ne change pas pendant l’exécution d’Access. Les constantes TrueFalse et Null sont fréquemment utilisées dans les expressions.

Valeurs

Vous pouvez utiliser des valeurs littérales dans vos expressions, par exemple le nombre 1 254 ou la chaîne « Entrer un nombre compris entre 1 et 10 ». Vous pouvez également utiliser des valeurs numériques, comme une série de chiffres, y compris un signe et une décimale, si nécessaire.

Lorsque vous utilisez des valeurs de chaîne de texte, placez-les entre guillemets pour qu’elles soient correctement interprétées par Access. Dans certains cas, Access insère automatiquement les guillemets. Par exemple, lorsque vous entrez du texte dans une expression pour une règle de validation ou des critères de requête, Access place automatiquement vos chaînes de texte entre guillemets.

Pour utiliser des valeurs de date/heure, placez-les entre signes dièse (#). Par exemple, #3-7-17#, #7-Mar-17# et #Mar-7-2017# sont des valeurs de date/heure valides. Lorsque Access rencontre une valeur de date/heure valide entourée de caractères #, il la traite automatiquement en tant que type de données Date/heure.

Comparaison des expressions Access et des formules Excel

Les expressions Access ressemblent à des formules Excel en ce qu’elles utilisent des éléments similaires pour produire un résultat. Les formules Excel et les expressions Access contiennent un ou plusieurs des éléments suivants :

  • Identificateurs    Dans Excel, les identificateurs sont les noms des cellules individuelles ou des plages de cellules d’un classeur (par exemple, A1, B3:C6 ou Feuil2!C32). Dans Access, les identificateurs sont les noms des champs de table (par exemple, [Contacts]![First Name]), des contrôles figurant sur les formulaires ou états (par exemple, Forms![Task List]![Description]), ou les propriétés de ces champs ou contrôles (par exemple, Forms![Task List]![Description].ColumnWidth).
  • Opérateurs    Dans Access et Excel, les opérateurs permettent de comparer des valeurs ou d’effectuer des calculs simples sur vos données. + (plus) ou  (moins) sont des exemples d’opérateurs.
  • Fonctions    Dans Access et Excel, les fonctions et arguments permettent d’accomplir des tâches que vous ne pouvez pas effectuer en utilisant uniquement des opérateurs (par exemple, vous pouvez rechercher la moyenne des valeurs d’un champ ou convertir le résultat d’un calcul dans un format monétaire). SOMME et ECARTYPE sont des exemples de fonctions. Les arguments sont des valeurs qui fournissent des informations aux fonctions. Notez qu’Access et Excel proposent de nombreuses fonctions parmi lesquelles vous pouvez faire votre choix. Toutefois, des fonctions similaires portent parfois des noms différents dans les deux programmes. Par exemple, la fonction MOYENNE d’Excel correspond à la fonction MOY d’Access.
  • Constantes    Dans Access et Excel, les constantes sont des valeurs immuables (par exemple, les nombres qui ne sont pas calculés à l’aide d’une expression).
  • Valeurs    Les valeurs s’utilisent de la même manière dans Access et Excel.

Les expressions Access utilisent des opérateurs et constantes semblables à ceux utilisés dans les formules Excel, mais utilisent différents identificateurs et fonctions. Si les formules Excel ne sont en général utilisées que dans les cellules de feuille de calcul, les expressions Access sont utilisées à de nombreux emplacements dans Access pour diverses tâches, notamment les suivantes :

  • création de contrôles calculés sur des formulaires et des états ;
  • création de champs calculés dans des tables et des requêtes ;
  • utilisation comme critères dans les requêtes ;
  • validation des données entrées dans un champ ou dans un contrôle de formulaire ;
  • regroupement des données dans des états.

Vous pouvez utiliser une expression Access ou une formule Excel pour calculer des valeurs numériques ou de date/heure à l’aide d’opérateurs mathématiques. Par exemple, pour calculer un prix après remise pour un client, vous pouvez utiliser la formule Excel =C2*(1-D2) ou l’expression Access = [Unit Price]*(1-[Discount]).

Vous pouvez également utiliser une expression Access ou une formule Excel pour combiner, diviser ou manipuler des chaînes à l’aide d’opérateurs de chaîne. Par exemple, pour combiner un prénom et un nom dans une même chaîne, vous pouvez utiliser la formule Excel =D3 & ” ” & D4 ou l’expression Access = [First Name] & ” ” & [Last Name].