2010-04-14 4 views
2

Je tente actuellement de créer un rapport à l'aide de Crystal Reports qui vient avec Visual Studio 2008.Crystal Reports Atelier de formules condition booléenne à chaîne

Je voudrais inclure un champ de type booléen sur mon rapport qui montre un chaîne plutôt que vrai ou faux. La chaîne doit contenir soit un signe € ou un signe%. Comment pourrais-je faire cela dans l'atelier de Formule?

J'ai essayé des choses comme par ex. Toutefois, cela ne semble jamais fonctionner et entraîne des avertissements tels que «Le résultat de la formule doit être un nombre».

Cela devrait être assez simple, mais c'est la première fois que j'utilise Crystal Reports.

L'aide serait grandement appréciée.

Jay

Répondre

2

Assurez-vous que votre champ SoortKorting a toujours vrai ou faux. Peut-être qu'il y a un null et dans ce cas votre formule ne fonctionnera pas.

Essayez avec ceci:

if isnull({tblAankoopDetails.SoortKorting} ) then 
" " 
else 
    if {tblAankoopDetails.SoortKorting} =true 
    then "€" else "%" 
+0

Comme vous l'avez dit, il y a actuellement des champs contenant une valeur nulle. Je n'avais évidemment pas pensé à attraper cette exception si vous ne l'aviez pas mentionnée. Ce que vous avez suggéré fonctionne comme un charme, même sans le code précédant 'else'. Je pense que ce que j'ai fait de mal était d'essayer de mettre en forme le champ de texte booléen réel plutôt que de créer une formule à partir de rien et de le faire glisser sur le rapport. En bref, merci beaucoup pour votre réponse rapide, y compris la suggestion de bonus :) Très apprécié! – Jay

1

Assurez-vous qu'il n'y a rien d'autre dans la même formule. Habituellement, je vois cette erreur particulière lorsqu'une formule renvoie parfois une chaîne, et parfois un nombre.

En outre, vous ne devriez pas avoir à tester vrai, vous pouvez essayer:

if {tblAankoopDetails.SoortKorting} then "€" else "%" 
+0

Donc, vous pouvez omettre «vrai»? Je n'étais pas sûr de pouvoir le faire. Cependant, comme indiqué ci-dessous, je pense que j'essayais simplement d'éditer le «produit» lui-même plutôt que de créer une formule à partir de zéro, mon mauvais. Nous vous remercions de votre suggestion! – Jay