Crystal Reports  

Instructions Select (syntaxe Basic)

L'instruction Select est similaire à une instruction If. Quelquefois, cependant, vous pourrez écrire des formules plus claires et moins répétitives à l'aide de l'instruction 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) :

Rem Select - exemple 1
Select Case Left ({Clients.Fax}, 3)
   Case "604", "250"
      formula = "CB"
   Case "206", "509", "360"
      formula = "WA"
End Select

L'expression se trouvant juste après le mot clé Select Case est appelée la condition Select. Dans l'exemple ci-dessus, il s'agit de Left ({Clients.Fax}[1 To 3]). L'instruction Select recherche le premier cas (Case) qui correspond à la condition Select, puis exécute les instructions qui suivent jusqu'au cas (Case) suivant.

Rem Même effet que l'exemple 1 de Select
Dim codeZone As String
codeZone = Left ({Clients.Fax}, 3)
If codezone In Array ("604", "250") Then
   formula = "CB"
ElseIf Codezone In Array ("206", "509", "360") Then
   formula = "WA"
End If

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. Remarquez la clause Case Else, qui est facultative. Si aucune des listes d'expressions Case ne correspond aux clauses Case précédentes, alors la clause Case Else est choisie. Dans l'exemple suivant, si {movie.NOM} est égal à 11, la formule renvoie "élevée".

Rem Select - exemple 2
Select Case {movie.NOM}
   Case 1,2,3, Is < 1
      Rem Il est possible d'avoir des instructions multiples
      Rem dans les blocs d'instructions
      formula = "basse"
   Case 4 To 6, 7, 8, 9
      formula = "moyenne"
   Case 10
      formula = "haute"
   Case Else
      formula = "élevée"
End Select

Voir aussi

Structures de contrôle | Instructions If | Instructions For/Next