Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

# Test condition and convert number to negative

Posted on 2014-02-14
Medium Priority
291 Views
I would like to check a field IF AttendDet.ActClockIn = 12:00 or 22:30 and AttendDet.TotActTime = 0.50 THEN convert the 0.50 to a negative number, ELSE null or nothing.
0
Question by:Lee Ingalls
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3

LVL 9

Author Comment

ID: 39860636
I figured out how to get the number to negative by multiplying it by (-1)... now for the rest of it.
0

LVL 35

Assisted Solution

James0628 earned 750 total points
ID: 39861224
You said "null or nothing".  Will 0 (zero) do?  If not, you may need to explain in more detail what you're trying to do.

What type of field is ActClockIn?  Time or datetime or something else?

Assuming that it's a time, you could use something like this:

if ({AttendDet.ActClockIn} = Time (12, 00, 00) or
{AttendDet.ActClockIn} = Time (22, 30, 00)) and
{AttendDet.TotActTime} = 0.50 then
0 - {AttendDet.TotActTime}
else
0

You could use {AttendDet.TotActTime} * -1 if you prefer.  Subtraction is more efficient than multiplication, but depending on how CR performs the calculations, it may end up performing the same operations either way.

FWIW, technically, since you're looking for one specific value (.5), you could replace "0 - {AttendDet.TotActTime}" with -0.5.  That would theoretically be more efficient, but using the calculation may more clearly express what the formula is doing.

James
0

LVL 101

Accepted Solution

mlmcc earned 750 total points
ID: 39861408
Is clockin a time?

If not you will have to pull the time out of it.  Most databases don't have a TIME datatype but simulate it with a datetime with the date set to a default value like 1 Jan 1900

Using James formula

``````if (Time({AttendDet.ActClockIn}) = Time (12, 00, 00) or
Time({AttendDet.ActClockIn}) = Time (22, 30, 00)) and
{AttendDet.TotActTime} = 0.50 then
- {AttendDet.TotActTime}
else
0
``````

The other possibility is that CLockIn is a string

``````if ({AttendDet.ActClockIn} = '12:00' or
{AttendDet.ActClockIn} = '22:30') and
{AttendDet.TotActTime} = 0.50 then
- {AttendDet.TotActTime}
else
0
``````

You really don't need to subtract from 0

mlmcc
0

LVL 9

Author Comment

ID: 39876837
OK, sorry for the delay.
The ActClockIn field type is string.
I realized that by changing the sign of the {AttendDet.TotActTime} amount of 0.50 to negative it was doubling the effect I was looking. So I simply changed it to, THEN 0

IF {AttendDet.ActClockOutTime}='12:30' OR {AttendDet.ActClockOutTime}='23:00' AND
{AttendDet.TotActTime}=0.50 THEN 0
ELSE {AttendDet.TotActTime}

'12:30' and '23:00' are the times that the automatic break calculations end. I erroneously had the second break end time set at '22:30' changed to '23:00'...
I needed to filter out the automatic break time.

Thank you James0628 and mlmcc for your always valuable assistance!

BudELee
0

LVL 9

Author Closing Comment

ID: 39877462
You both answered the original question; then I changed it once I realized I had misstated my requirement. As always I value your input.

Cheers, Lee
0

## Featured Post

Question has a verified solution.

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

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 …
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
###### Suggested Courses
Course of the Month6 days, left to enroll