Hide -Unhide fields based on criteria

I am using Crystal Reports 8.0 . I have a report that displays the Time report of employees.
The report contains the following fields
TIME IN ----- TIME OUT------Day -------Overtime(in hrs)-------Late Arrival-------Remarks

This is read from a table that conatins the fields that have to be dispalyed.
IF the employee is absent or on annual leave the TIME IN field will contain the day on which the employee was absent and

the fields will be empty. In the report I want to display ABSENT or ANNUAL LEAVE in place of the TIME OUT

,OVERTIME,LATE ARRIVAL  i.e. I want to hide these fields and display a text field that displays "ABSENT" or "ANNUAL

LEAVE". A field in the record specifies whether it is a regular IN /OUT record or is it "ABSENT or "ANNUAL LEAVE"

So the issue is , how can I hide fields in Detail part of the report based on a field value.


Who is Participating?
mlmccConnect With a Mentor Commented:
In that case I think I woud have the normal time fields use conditional suppression
Select the field
Select the COMMON TAB (CR7)
Click the Formula field for SUPPRESS
{mytable.Status} <> 1

Add a text box to the report. Insert the text as
- - - - A N N U A L   L E A V E - - - -
Conditionally suppress
{mytable.Status} <> 2

Add a text box to the report. Insert the text as
-  -  -  -   A  B  S  E  N  T  -  -  -  -
Conditionally suppress
{mytable.Status} <> 3

The 2 text boxes should be placed on top of the fields in question.

Hello TetraSA,

I am assuming here that the field is called Status and contains 1 for in/out, 2 for Absent and 3 for Leave.

The TimeOut column must be a formula field:

if {mytable.Status} = 1 then
else if {mytable.Status} = 2 then
"Annual Leave"

For each of the other fields you can use a simple conditional suppression formula in the field format.

{MyTable.Status} <>1

That should work.

Are you doing any summaries or totals of the hours?

TetraSAAuthor Commented:
Actually when it is Absent or Annual Leave the field has to span from TIME OUT to Late Arrival(i.e. it should be wide to cover the other fileds)  . So is there a way I can change the Width of field in the above IF statements.

Yes I am using Summaries of the overtime hours.  But in the overtime there are 2 categories. 150% and 200%. There is a field in the table that specifies whether the Overtime is 150 or 200. How can I get totals for these 2 categories seperately.
Keeping in mind that the report will contain timereports of more than one employee , so i am assuming the total has to be in the group footer.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.