L'expression Select est semblable à une expression If. Quelquefois, cependant, vous pourrez écrire des formules plus claires et moins répétitives à l'aide de l'expression Select. Par exemple, pour évaluer le champ {Clients.Fax} afin de déterminer si l'indicatif correspond à l'état de Washington (206, 360, 509) ou de la Colombie-Britannique au Canada (604, 250) :
//Expression Select - exemple 1 Select {Clients.Fax}[1 To 3] Case "604", "250" : "BC" Case "206", "509", "360" : "WA" Default : "";
L'expression située à droite du mot clé Select est appelée condition Select. Dans l'exemple ci-dessus, il s'agit de {Clients.Fax}[1 To 3]. L'expression Select essaie de trouver le premier cas qui correspond à la condition Select, puis exécute l'expression qui suit le signe deux-points pour ce cas. Le cas par défaut est pris en compte si aucun des cas précédents ne correspond à la condition Select. Notez qu'il y a également un signe deux-points après la valeur par défaut.
//Même effet que l'exemple 1 de Select Local StringVar codeZone := {Clients.Fax}[1 To 3]; If Codezone In ["604", "250"] Then "BC" Else If Codezone In ["206", "509", "360"] Then "WA" Else "";
Exemple
Cette formule groupe le nombre de nominations aux Oscars reçues par un film dans l'une des catégories faible, moyen, élevé ou très élevé et montre dans le processus certaines des possibilités pour les listes d'expressions qui suivent les intitulés des cas.
//Expression Select - exemple 2 Select {movie.NOM} Case 1,2,3, Is < 1 : ( //Possibilité d'avoir des listes d'expressions en //utilisant des parenthèses 10 + 20; "faible" ) Case 4 To 6, 7, 8, 9 : "moyen" Case 10 : "élevé" Default : "très élevé"
La clause par défaut de l'expression Select est facultative. Si la clause par défaut est absente et qu'il n'y a aucune correspondance pour chacun des cas, l'expression Select renvoie la valeur par défaut pour son type d'expression. Par exemple, si dans l'exemple ci-dessus la clause par défaut avait été omise et {movie.NOM} = 11, la chaîne vide "" aurait été renvoyée. L'expression Select est une expression, et les mêmes commentaires que ceux faits dans la section Détails supplémentaires sur les expressions If s'appliquent aussi.