Solved

Crystal formula result question

Posted on 2011-09-16
6
253 Views
Last Modified: 2012-08-13
This formula returns 75.00 everytime. The field HourlyRate defaults to 75.00. Then I check the location and employee type to determine if the hourly Rate should be chaned to 65.00 or 25.00.
What's the correct way to do this? I've been trying various things like instr but am not having luck. I need a formula that returns a number. If I remove the last line the formula returns true or false. Thanks.


Global NumberVar HourlyRate;
HourlyRate := 75.00;

If {Projects.Location} like "Apples" then
    HourlyRate := 25.00;


If {Projects.Employee Type} like "Oranges" then
      HourlyRate = 65.00;
 
HourlyRate;
0
Comment
Question by:MidWestGirl
  • 3
  • 2
6 Comments
 
LVL 100

Expert Comment

by:mlmcc
ID: 36551375
Try this
WhilePrintingRecords;
Global NumberVar HourlyRate;
HourlyRate := 75.00;

If {Projects.Location} like "*Apples*" then
    HourlyRate := 25.00;


If {Projects.Employee Type} like "*Oranges*" then
      HourlyRate = 65.00;
 
HourlyRate;

mlmcc
0
 

Author Comment

by:MidWestGirl
ID: 36551407
H Mlmcc. The formula you suggested look like the one I tried. I'm not seeing the difference
between yours and the one I posted.
0
 

Author Comment

by:MidWestGirl
ID: 36551423
I did add the WhilePrintingRecords but it still comes out to 75.00 everytime.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 100

Accepted Solution

by:
mlmcc earned 300 total points
ID: 36551686
I added * * around your text.  Like needs them to do a wildcard search.

mlmcc
0
 
LVL 34

Assisted Solution

by:James0628
James0628 earned 200 total points
ID: 36553875
mlmcc's right about the "*"s.  You need those for LIKE.  Another problem is this line near the end of your formula:

      HourlyRate = 65.00;


 That should be:

      HourlyRate := 65.00;


 := assigns a value to a variable.  = compares values.  It's an easy mistake to make, and to miss.

 So, if "Employee Type" contained Oranges, you were just comparing HourlyRate to 65, instead of setting it to 65.  That's why you got True or False when you removed the last line.  Actually, it should have always returned False.

 If you're still not getting the correct results after changing that, then there's something else going on.  Presumably "Apples" and "Oranges" are just example values.  If your real values are more complicated, maybe your tests aren't working.  Case might also be an issue (depending on your settings, "apples" may or may not match "*Apples*").  And if any of those fields could be null, that could be a problem.

 James
0
 

Author Closing Comment

by:MidWestGirl
ID: 36563182
Thanks! the 2 suggestions given to me worked.
0

Featured Post

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

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

Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
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 teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question