SWITCH |
Échangeur |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| Switch(expression1, value1, expression2, value2, ... expression_n, value_n) |
Paramètres
| Nom | Description |
|---|---|
| expression1, expression2, expression_n | Ces paramètres permettent d'indiquer la liste des expression à évaluer |
| value1, value2, value_n | Ces paramètres permettent d'indiquer la liste des valeurs devant être retourner si l'expression est vrai. |
Description
Cette fonction permet de retourner la valeur correspondant à une expression vrai.
Remarques
- La fonction permet de choisir une valeur parmi plusieurs conditions : La fonction Switch évalue successivement plusieurs expressions logiques et retourne la valeur associée à la première expression qui est vraie. Elle constitue une alternative pratique à une longue succession d'instructions IIf. Cette fonction améliore souvent la lisibilité des expressions complexes.
- Les expressions sont évaluées dans l'ordre où elles sont écrites : Switch examine les conditions une par une, en commençant par la première. Dès qu'une expression retourne True, la valeur correspondante est renvoyée et les conditions suivantes ne sont plus utilisées pour déterminer le résultat. L'ordre des conditions est donc très important.
- Les conditions doivent être organisées avec soin : Une condition très générale placée au début peut empêcher les conditions plus spécifiques d'être utilisées. Il est généralement recommandé de placer les tests les plus précis avant les plus généraux. Cette organisation garantit que le résultat obtenu correspond bien à la logique souhaitée.
- Si aucune condition n'est vraie, la fonction retourne Null : Lorsque toutes les expressions évaluées retournent False, Switch ne retourne aucune des valeurs proposées. Le résultat est alors généralement Null. Si un résultat par défaut est souhaité, il est conseillé d'ajouter une dernière condition telle que True afin de toujours retourner une valeur.
- Elle peut remplacer plusieurs appels imbriqués à IIf : Une succession de fonctions IIf peut rapidement devenir difficile à lire et à maintenir. Switch permet d'exprimer plusieurs cas dans une seule fonction, avec une structure plus claire. Cette approche facilite la compréhension et la maintenance du code.
- Les valeurs retournées peuvent être de différents types : Les paramètres value1, value2,..., peuvent contenir des nombres, des chaînes de caractères, des dates ou d'autres expressions compatibles. Le type réellement retourné dépend de la branche sélectionnée. Cette souplesse permet d'utiliser Switch dans de nombreux contextes.
- Elle est disponible dans les requêtes et dans le code VBA : La fonction Switch peut être utilisée dans les requêtes SQL, les formulaires, les états ainsi que dans les modules VBA. Elle permet d'effectuer directement des choix conditionnels dans une expression sans écrire plusieurs instructions If...Then...Else. Son comportement reste identique dans tous ces environnements.
- Elle est utile pour convertir des codes en libellés : Switch est souvent utilisée pour transformer des codes numériques ou alphanumériques en descriptions plus compréhensibles. Par exemple, un code de statut peut être converti en « En attente », « En cours » ou « Terminé ». Cette technique améliore considérablement la lisibilité des formulaires et des rapports.
- Elle peut être combinée avec d'autres fonctions Access : Switch est fréquemment associée à IsNull, Nz, Format, DateDiff, Left ou Right. Les conditions peuvent ainsi s'appuyer sur des traitements plus élaborés avant de choisir la valeur à retourner. Cette combinaison permet de construire des expressions très puissantes tout en restant relativement lisibles.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : La fonction Switch est disponible depuis les premières versions de Microsoft Access intégrant VBA et son fonctionnement est demeuré stable au fil des années. Elle est compatible avec Access 2000, Access XP, Access 2003, Access 2007, Access 2010, Access 2013, Access 2016 ainsi qu'avec Microsoft 365. Cette stabilité garantit que les applications utilisant cette fonction continueront de fonctionner correctement lors des migrations vers des versions plus récentes d'Access.
Exemple
Voici un exemple de comment utiliser la fonction Switch dans Microsoft Access :
Switch (SupplierID=1, "IBM", SupplierID=2, "AMD", SupplierID=3, "Nvidia")
Dans cet exemple, si le champ SupplierID vaut 1, la fonction Switch renverra «IBM».
Si le champ SupplierID vaut 2, la fonction Switch renverra «AMD».
Si le champ SupplierID vaut 3, la fonction Switch renverra «Nvidia».
Exemple de code VBA
La fonction Switch peut être utilisée dans le code VBA de Microsoft Access.
Par exemple :
Dim LValue As String
LValue = Switch (SupplierID=1, "IBM", SupplierID=2, "AMD", SupplierID=3, "Nvidia")
Dernière mise à jour : Mardi, le 28 juillet 2015