Crystal Reports Designer  

Principes fondamentaux de la syntaxe Basic

Fonctionnalités habituelles

Résultat d'une formule

Le résultat d'une formule, ou la valeur qui s'imprime lorsque la formule est placée dans un état, est appelé la valeur renvoyée par la formule. Chaque formule de Crystal Reports doit renvoyer une valeur. La syntaxe Basic effectue cela en définissant la valeur d'une variable spéciale appelée formula. Voici par exemple une formule simple en syntaxe Basic, qui renvoie la valeur 10 :

formula = 10

La valeur renvoyée par une formule peut appartenir à l'un des sept types de données simples pris en charge : Nombre, Devise, Chaîne, Booléen, Date, Heure et Date/heure. Crystal Reports prend également en charge les types plage et tableau, mais ces derniers ne peuvent pas être renvoyés par une formule.

Une valeur doit être assignée à la variable Formula

Si aucune valeur n'est assignée à la variable formula, la syntaxe Basic n'est pas complète.

Il est parfois nécessaire d'écrire une formule n'effectuant que la déclaration et l'initialisation de certaines variables globales. Ces formules sont habituellement insérées dans la section En-tête d'état d'un état. Dans ce cas, assignez uniquement une valeur quelconque à la variable spéciale formula. En effet, toute formule doit retourner une valeur, même si le résultat de cette valeur n'est pas utile.

Exemple

Rem Déclaration de quelques variables globales
Rem Ne pas oublier de définir la valeur de 'formula'
Global x As String, y As Number, z As DateTime
x= "bonjour"
y = 10.5
z = #Aug 6, 1976#
formula = 10

Types de données et la variable Formula

La variable formula peut être définie plusieurs fois à l'intérieur d'une même formule. Supposons, par exemple, qu'une société ait une politique d'expédition au titre de laquelle les commandes supérieures à 1 000 € sont couvertes par une assurance tandis que celles inférieures à ce montant ne le sont pas :

Rem Une formule renvoyant une valeur de type chaîne
If {Commandes.Montant commande} >= 1000 Then
   formula = "Expédition assurée"
Else
   formula = "Expédition ordinaire"
End If

La formule renvoie la valeur de la chaîne de texte "Expédition assurée" si la valeur du champ de base de données {Commandes.Montant commande} est supérieure ou égale à 1 000, et renvoie la valeur de la chaîne de texte "Expédition ordinaire" dans le cas contraire. Remarquez que la variable formula apparaît deux fois dans l'exemple ci-dessus.

Si une valeur d'un certain type est affectée à la variable formula, elle ne peut pas se voir affectée un type différent dans la même formule. Par exemple, remplacer la chaîne "Expédition ordinaire" dans l'exemple ci-dessous par le nombre 10 provoquerait une erreur, puisque la variable spéciale formula a tout d'abord été affectée à la valeur de chaîne "Expédition assurée".

La raison de cette restriction réside dans le fait que Crystal Reports doit connaître à l'avance le type renvoyé par une formule pour pouvoir allouer un espace suffisant pour les valeurs renvoyées. En effet, les différents types possèdent des exigences de stockage différentes. Le fait que les options de mise en forme d'un champ de formule dépendent de son type constitue une autre raison. Un champ numérique possède, par exemple, des options de mise en forme de nombres, telles que le nombre de décimales à afficher, ce qui ne s'applique pas aux champs de type chaîne.

Remarque   La variable spéciale formula ne doit pas être déclarée, contrairement aux autres variables utilisées dans la syntaxe Basic.

Respect de la casse

La syntaxe Basic ne fait pas de différence entre les majuscules et minuscules. Ceci signifie que formula, Formula et FORMULA sont tous considérés identiques. Ceci est vrai pour tous les noms de variables, fonctions et mots clés utilisés dans les formules en syntaxe Basic.

Remarque   Seules les chaînes échappent à cette règle. La chaîne "Bonjour" est différente de la chaîne "bonjour".

Entraînement à l'aide de l'exemple de base de données Xtreme.mdb

De nombreux exemples de cette section se réfèrent à l'exemple de base de données Xtreme qui peut être téléchargé à partir de la zone des développeurs Java. Pour télécharger l'exemple de base de données Xtreme, visitez le site http://www.businessobjects.com/products/dev_zone/java/default.asp.

Voir aussi

Comparaison des formules en syntaxe Basic avec les fonctions de Visual Basic | Variables