Avec les fonctions de chaîne, vous pouvez créer des expressions dans Access qui manipulent du texte de différentes façons. Par exemple, vous pouvez souhaiter n’afficher qu’une partie d’un numéro de série sur un formulaire. Ou vous pouvez devoir joindre (concaténer) plusieurs chaînes les unes aux autres, comme un nom et un prénom par exemple. Si vous n’êtes pas encore très familiarisé avec les expressions, voir Créer une expression.
Voici une liste de certaines des opérations de chaîne les plus courantes dans Access et des fonctions que vous utiliseriez pour les effectuer :
Pour… |
Utilisez... |
Par exemple... |
Résultats |
---|---|---|---|
Renvoyer les caractères du début d’une chaîne |
=Left([NuméroSérie],2) |
Si [NuméroSérie] est « CD234 », le résultat est « CD ». |
|
Renvoyer les caractères de la fin d’une chaîne |
=Right([NuméroSérie],3) |
Si [NuméroSérie] est « CD234 », le résultat est « 234 ». |
|
Trouver la position d’un caractère dans une chaîne |
=InStr(1,[Prénom],"i") |
Si [Prénom] est « Colin », le résultat est 4. |
|
Renvoyer les caractères du milieu d’une chaîne |
=Mid([NuméroSérie],2,2) |
Si [NuméroSérie] est « CD234 », le résultat est « D2 ». |
|
Éliminer les espaces de début ou de fin d’une chaîne |
=Trim([Prénom]) |
Si [Prénom] est « Colin », le résultat est « Colin ». |
|
Joindre deux chaînes |
Opérateur* Signe plus (+) |
=[Prénom] + [Nom] |
Si [Prénom] est « Colin » et [Nom] est Wilcox, le résultat est « ColinWilcox » |
Joindre deux chaînes en les séparant d’un espace |
Opérateur* Signe plus (+) |
=[Prénom] + " " + [Nom] |
Si [Prénom] est « Colin » et [Nom] est Wilcox, le résultat est « Colin Wilcox » |
Changer la casse d’une chaîne en majuscules ou en minuscules |
=UCase([Prénom]) |
Si [Prénom] est « Colin », le résultat est « COLIN ». |
|
Déterminer la longueur d’une chaîne |
=Len([Prénom]) |
Si [Prénom] est « Colin », le résultat est 5. |
* D’accord, ce n’est pas une fonction, c’est un opérateur. Il s’agit toutefois du moyen le plus rapide de joindre des chaînes. Dans une base de données de bureau, vous pouvez aussi utiliser l’opérateur « et commercial » (&) pour la concaténation.
Il existe bien d’autres fonctions de manipulation du texte dans Access. Pour en savoir plus sur ces fonctions, ouvrez le Générateur d’expressions et faites défiler les listes de fonctions. Le Générateur d’expressions est disponible presque partout où vous souhaitez créer une expression. En général, il existe un petit bouton Générer qui ressemble à ceci :
Pour faire la démonstration du Générateur d’expressions, ouvrons-le à partir de la propriété Source contrôle dans un formulaire ou une vue. Utilisez l’une des procédures ci-dessous selon que vous utilisez une base de données de bureau ou une application web Access.
Afficher le Générateur d’expressions dans une base de données de bureau
-
Ouvrez une base de données de bureau (.accdb).
-
Appuyez sur F11 pour ouvrir le volet de navigation, s’il n’est pas déjà ouvert.
-
Si vous avez déjà un formulaire disponible, cliquez dessus avec le bouton droit dans le volet de navigation, puis cliquez sur Mode Page. Si vous ne disposez pas de formulaire sur lequel travailler, cliquez sur Créer > Formulaire.
-
Cliquez avec le bouton droit sur une zone de texte dans le formulaire, puis cliquez sur Propriétés.
-
Dans la feuille de propriétés, cliquez sur Toutes les > source du contrôle , puis cliquez sur le bouton Générer sur le côté droit de la zone de propriété Source du contrôle .
-
Sous Éléments d’expression, développez le nœud Fonctions, puis cliquez sur Fonctions intégrées.
-
Sous Catégories d’expressions, cliquez sur Texte.
-
Sous Valeurs d’expression, cliquez sur les différentes fonctions et lisez les brèves descriptions au bas du Générateur d’expressions.
Remarque : Toutes ces fonctions ne sont pas disponibles dans tous les contextes ; Access filtre automatiquement la liste des fonctions en fonction du contexte.
Combiner les fonctions de texte pour plus de flexibilité
Certaines fonctions de chaîne possèdent des arguments numériques que, dans certains cas, vous devez calculer chaque fois que vous appelez la fonction. Par exemple, la fonction Left utilise une chaîne et un nombre, comme dans l’exemple =Left(NuméroSérie, 2). Parfait si vous savez que vous aurez toujours besoin des deux caractères de gauche, mais inadapté si le nombre de caractères dont vous avez besoin varie à chaque élément. Au lieu de « coder en dur » le nombre de caractères, vous pouvez entrer une autre fonction qui calcule cette valeur.
Voici un exemple de numéros de série qui ont chacun un trait d’union quelque part dans la chaîne. Toutefois, la position du trait d’union varie :
NuméroSérie |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Si vous voulez uniquement afficher les nombres à gauche du tiret, vous devez effectuer un calcul à chaque fois pour identifier la position du tiret. Vous pouvez procéder comme suit :
=Left([NuméroSérie],InStr(1,[NuméroSérie],"-")-1)
Au lieu d’entrer un nombre comme deuxième argument de la fonction Left, nous avons branché la fonction InStr, qui retourne la position du trait d’union dans le numéro de série. Soustrayez 1 de cette valeur est vous obtenez le nombre exact de caractères devant être renvoyés par la fonction Left. Cela peut semble un peu compliqué de prime abord, mais en expérimentant un peu, vous réussirez à combiner deux expressions ou plus pour obtenir les résultats que vous voulez.