Les fonctions suivantes sont propres aux états : BeforeReadingRecords (avant la lecture des enregistrements), WhileReadingRecords (lors de la lecture des enregistrements), WhilePrintingRecords (lors de l'impression des enregistrements) et EvaluateAfter (évaluer après). Vous pouvez utiliser ces fonctions pour indiquer à Crystal Reports à quel moment vos formules doivent être évaluées.
Est-ce que la formule doit être évaluée avant la récupération des enregistrements de la base de données, pendant leur lecture mais avant qu'ils ne soient regroupés, triés et résumés, ou pendant l'impression de l'état, lorsque les enregistrements sont regroupés, triés et résumés ? En général, Crystal Reports définit un moment d'évaluation approprié pour votre formule, en fonction des informations requises par la formule. Par exemple, si une formule utilise un champ de base de données, elle ne peut pas être évaluée avant que les enregistrements soient lus dans la base de données. Cependant, vous aurez souvent besoin de définir un moment d'évaluation plus tardif que le moment normal pour obtenir l'effet désiré. Voir Variables globales (syntaxe Basic) ou Variables globales (syntaxe Crystal) pour avoir un exemple.
En temps normal, la valeur renvoyée par une fonction est utilisée plus loin dans une formule. Toutefois, les fonctions de moment d'évaluation sont appelées pour changer le comportement interne de Crystal Reports et la valeur qu'elles renvoient n'est pas utilisée. Elles peuvent être appelées en plaçant leur nom dans une instruction séparée, le mot clé Call pouvant être optionnellement placé avant.
WhilePrintingRecords Call WhilePrintingRecords
Exécution des calculs dans un état | Modèle de traitement des états