FAQ Crystal ReportsConsultez toutes les FAQ
Nombre d'auteurs : 7, nombre de questions : 43, dernière mise à jour : 10 août 2014 Ajouter une question
Cette F.A.Q. a été réalisée à partir des connaissances de membres de Developpez.com en vue de répondre à des questions fréquemment posées par les utilisateurs.
Elle traite de tout type de questions portant sur l'outil Crystal Reports.
Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.
L'équipe Crystal Reports de Developpez.com.
- Comment utiliser la fonction Left quand le nombre de caractères à extraire varie ?
- Comment récupérer un élément d'une date ?
- Comment faire la somme d'un champ sans passer par la fonction Résumé ?
- Comment faire un saut de ligne dans une formule ?
- Comment créer un compteur ?
- Comment changer la syntaxe par défaut ?
La fonction Left permet d'extraire les n premiers caractères d'un champ. Néanmoins, il faut parfois extraire en se basant sur la position d'un signe.
Par exemple, il faut prendre tous les chiffres avant le signe *
28924*464
156*13545
12*46565344
Pour pouvoir faire cela, il faut utiliser en plus la fonction Instr. Cette fonction permet de déterminer pour un champ, à quel position se trouve le signe voulu.
Ainsi :
Code : | Sélectionner tout |
LEFT({champ},(Instr({champ},"*")-1)
Vous désirer récupérer, le jour de la semaine, le trimestre, ou le numéro de la semaine à partir d'une date. (Rappel la fonction Cstr renvoie du texte, les autres fonctions des nombres)
Année :
Code : | Sélectionner tout |
1 2 3 | Year ({@Date}) ou DatePart ("yyyy", {@Date}) Cstr({@Date}, "yyyy") ou Cstr({@Date}, "yy") |
DatePart ("q", {@Date})Mois :
Code : | Sélectionner tout |
1 2 3 | Month ({@Date}) ou DatePart ("m", {@Date}) cstr({@Date}, "MMMM") ou cstr({@Date}, "MM") |
DatePart ("ww", {@Date})Jour du mois :
Code : | Sélectionner tout |
1 2 3 | Day({@Date}) ou Datepart("d" , {@Date}) cstr({@Date}, "d") |
Code : | Sélectionner tout |
1 2 3 | DayOfWeek ({@Date}, crMonday) ou Datepart("w" , {@Date}, crMonday) cstr({@Date}, "dddd") |
Datepart("y" , {@Date})
La fonction de Résumé sur Crystal Reports est très pratique mais certains ne souhaitent pas l'utiliser et ne parviennent pas forcément au résultat souhaité avec la fonction Sum.
Pour cela, il faut d'abord créer un groupe. En cherchant bien, il existe toujours un champ qui permet de regrouper toutes les données sans que cela se voit.
Une fois ce groupe créé, il ne reste plus qu'à créer la formule :
Code : | Sélectionner tout |
Sum({champ_a_résumer},{champ_groupe})
Il est parfois pratique de faire un saut de ligne à l'intérieur même d'une formule.
L'exemple le plus courant est pour la construction d'une adresse :
Il y a souvent un champ_adresse_1, un champ_adresse_2, voire même un champ_adresse_3.
Les mettre les uns en dessous des autres peut s'avérer "laid" car si le 2 et le 3 ne sont pas renseignés, il y aura un grand espace entre le champ_adresse_1 et le code postal/ville.
Il faut donc créer une formule adresse :
Code : | Sélectionner tout |
1 2 3 4 5 | {nom} & (IF {adresse_1} <> "" then chr(13) & {adresse_1} ) & (IF {adresse_2} <> "" then chr(13) & {adresse_2} ) & (IF {adresse_3} <> "" then chr(13) & {adresse_3} ) & (chr(13) & {code postal} & " " & {ville}) |
1/ créer une formule d'initialisation de la variable compteur
Code : | Sélectionner tout |
1 2 | Shared NumberVar compteur; compteur :=0; |
3/ créer une formule d'incrémentation de la variable
Code : | Sélectionner tout |
1 2 | Shared NumberVar compteur; compteur := compteur + 1; |
Pour changer la syntaxe par défaut dans l'éditeur de formule, il faut aller choisir l'option dans : Fichier / Option / Onglet Création d'états / Syntaxe
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.