Une propriété d'attribut conditionnelle vérifie, parmi deux conditions ou plus, laquelle est remplie. Le logiciel applique alors la mise en forme correspondante. Supposons par exemple que vous souhaitiez imprimer les résultats de vos représentants en rouge lorsqu'ils sont inférieurs aux objectifs et en noir dans le cas contraire. Le logiciel compare les résultats aux objectifs. Dans un cas, il appliquera l'attribut rouge, dans l'autre, l'attribut noir.
Utilisez une formule If-Then-Else pour ce type de mise en forme conditionnelle.
Exemple de syntaxe Crystal
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
crBlack
Lorsque vous créez des formules pour les propriétés d'attribut conditionnelles, Crystal Reports présente une sélection d'attributs dans la zone des commentaires de la formule, dans la vue Formules. Vous pouvez utiliser n'importe lequel de ces attributs dans la formule. Par exemple, si vous définissez une couleur d'arrière-plan de façon conditionnelle, la sélection contient les attributs correspondant à chaque couleur que vous pouvez utiliser. Si vous définissez des bordures de façon conditionnelle, la sélection contient des attributs comme crSingleLine, crDoubleLine, crDashedLine, crDottedLine et crNoLine.
Remarque : Incluez toujours le mot clé Else dans les formules conditionnelles ; sinon, les valeurs qui ne satisfont pas la condition If peuvent perdre leur format d'origine. Pour que les valeurs conservent leur format d'origine dans ce cas, utilisez la fonction DefaultAttribute. La fonction DefaultAttribute renvoie la valeur de la propriété de mise en forme définie dans la vue "Propriétés".
Exemple de syntaxe Crystal
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then
crRed
Else
DefaultAttribute
Il est possible d'approfondir davantage cette propriété. Vous pouvez définir une liste de conditions et une valeur de propriété pour chaque cas ; vous n'êtes pas limité à deux conditions. Si par exemple un des champs numériques de votre rapport porte sur les résultats des ventes dans divers pays, vous pouvez définir un ou plusieurs attributs pour chaque pays. Votre formule précisera qu'au cas où les informations sont relatives au pays A, l'attribut correspondant au pays A sera appliqué. Si elles sont relatives au pays B, l'attribut du pays B sera appliqué, etc.
Si vous avez plus de deux possibilités, utilisez une formule du genre :
Exemple de syntaxe Crystal
If {CUSTOMER.Country} = "Canada" Then
crRed
Else If {CUSTOMER.Country} = "England" Then
crBlack
Else If {CUSTOMER.Country} = "Australia" Then
crGreen
Else
crBlue
Utilisez une formule If-Then-Else à plusieurs conditions pour ce type de mise en forme conditionnelle.