Crystal Reports Designer  

Déclaration des variables à l'aide de Dim (syntaxe Basic)

Avant d'utiliser une variable dans une formule, vous devez la déclarer. Une variable peut contenir des valeurs d'un type donné. Les types autorisés sont les sept types simples (Nombre, Devise, Chaîne, Booléen, Date, Heure et Date/heure), les six types de plages (Plage de nombres, Plage de devises, Plage de chaînes, Plage de dates, Plage d'heures et plage de valeurs de type date/heure) et les variables contenant des tableaux des types déjà mentionnés. En tout, une variable peut donc avoir 26 différents types.

Lorsque vous déclarez une variable, vous spécifiez également son nom. Une variable ne peut pas avoir le même nom qu'une fonction, un opérateur ou un autre mot clé valable dans la syntaxe Basic. Par exemple, votre variable ne peut pas être nommée Sin, Mod ou If car Sin est une fonction intégrée, Mod est un opérateur intégré et If est un mot clé intégré. Lors de la saisie de formules dans l'éditeur, les noms des fonctions intégrées, des opérateurs et autres mots-clés apparaissent dans des couleurs différentes. Ceci permet de remarquer facilement si le nom de variable présente un conflit.

Une fois déclarée, une variable peut être utilisée dans la formule. Vous pouvez, par exemple, souhaiter lui affecter une valeur initiale :

Dim x As Number 'Déclarer x en tant que variable numérique
x = 10 'Affecter la valeur 10 à x

Vous pouvez déclarer plus d'une variable par ligne en séparant leurs déclarations par des virgules :

Dim x As Number, y as String, z as DateTime Range
x = 10 : y = "bonjour"
z = #Jan 1, 1999# To #Jan 31, 1999#

Déclaration des variables sans spécifier immédiatement leur type

En général, le type d'une variable ne nécessite pas d'être explicitement spécifié lors de sa déclaration. Dans ce cas, le type de la variable est déterminé par sa première assignation. Ceci est similaire à la variable spéciale formula. Ceci diffère de Visual Basic, pour lequel une variable qui ne s'est pas vue assignée un type lors de sa déclaration prend le type Variant. Toutefois, dans la pratique, cela signifie que les formules peuvent être écrites dans un style similaire à celui qui serait utilisé si une variable de type Variant de Visual Basic était utilisée.

Dim p 'Le type de p n'est pas encore connu
p = "au revoir" 'p est maintenant défini comme étant de type chaîne
Dim q 'Le type de q n'est pas encore connu
q = Array ("bonjour", p) 'q est un tableau d'éléments de type chaîne
'Erreur- p est une variable de type chaîne et ne peut pas contenir de nombre
p = 25
Dim r
'r est une variable numérique et contient la valeur 5
r = (10 + 5) / 3
'Les types de a et c ne sont pas encore connus
Dim a, b As Boolean, c
b = False
'a est maintenant défini comme étant de type booléen
'et sa valeur est False
a = b
'c est maintenant défini comme étant de type numérique et sa valeur est 17
c = 2 + 3 * 5

Exemples de déclarations et d'initialisations de variables de plages

Dim niveauA, trimestre
'Le type de niveauA est défini comme étant une plage numérique
niveauA = 90 To 100
'Le type de trimestre est défini comme étant une plage de dates
trimestre = CDate (1999, 10, 1) To CDate (1999, 12, 31)

Voir aussi

Etendue de variables