Solved

# I am trying to create a formula field in crystal reports combining an if, then, else with an OR.  This seems as if it should be simple, but I am stumped.

Posted on 2008-10-07
503 Views
I am trying to write a simple IF X or Y then Z else W statement in crystal and while it seems like it should be a simple thing, I cannot get it to work:

if {Cash.Cash} > 0 OR
{Payments.Payment} > 0
Then 1
else 0;

The problem is sum totals the 1's for all the records where Cash.Cash > 0 but does not include any 1's in the records where Payments.Payment > 0.  Using the built in summary field returns the same result leading me to assume that the field value is not being set to 1 for those later records.

What am I missing here???????

0
Question by:vtandi
• 4
• 3
• 2

LVL 100

Accepted Solution

mlmcc earned 50 total points
ID: 22663379
I suspect the problem is you have NULL values in the fields.

Try this
If Not IsNull({Cash.Cash})  AND {Cash.Cash} > 0  then
1
else If Not Is Null({Payments.Payment}) AND {Payments.Payment}  > 0 then
1
else
0;

mlmcc
0

LVL 1

Expert Comment

ID: 22663621
Try:
if {Cash.Cash} > 0 Then 1
else
if {Payments.Payment} > 0 Then 1
else 0;
0

Author Comment

ID: 22663751
Thanks sjjcat, I tried that one (Try:
if {Cash.Cash} > 0 Then 1
else
if {Payments.Payment} > 0 Then 1
else 0;)
and it did not work

mlmcc - I will try yours in the AM.  However, if I create the if/then without the OR (i.e. If Payments.payment >0 then 1 else 0;), it DOES count them as I would expect.  It is only when I add the OR that it seems to want to not work.  I think the fact that each part works individually would suggest that it is not the Null thing but rather something to do with the OR??????
0

LVL 1

Expert Comment

ID: 22663801
vtandi
Are you sure the payments field is a numeric field, not text? If text, it may not be able to identify > 0.
0

Author Comment

ID: 22664015
Both Payments.payment
and Cash.cash are currency fields

-a
0

LVL 100

Expert Comment

ID: 22664142
If Payments can be NULL when Crystal uses the field it stops execution and returns some value probably NULL or no value thus it doesn't count.

mlmcc
0

Author Comment

ID: 22669373
mlmcc:

Thanks so much.  Just got back to this and your code did the trick.  Not sure why I have so much trouble writing Crystal formulas as opposed to Access or Excel....
0

LVL 100

Expert Comment

ID: 22669395
Probably because of the way Crystal handles NULL values in a formula.

Crystal simply stops execution and doesn't really pass a value back.

mlmcc
0

Author Closing Comment

ID: 31504001
Any general tips for an Advanced Excel and Access user who is finding Crystal formulas to be a painful experience (despite a large George Peck reference volume)?
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I hate sub reports and always consider them the last resort in any reporting solution.  The negative effect on performance and maintainability is just not worth the easy ride they give the report writer.  Nine times out of ten reporting requirementsâ€¦
There have always been a lot of questions related to when Crystal Reports evaluates report components (such as formulas, summaries, cross-tabs, charts, to name a few examples). Crystal Reports uses a two-pass reporting process to provide greater â€¦
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaacâ€¦