• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 370
  • Last Modified:

Hide -Unhide fields based on criteria

hi,
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.

Thanks

0
TetraSA
Asked:
TetraSA
  • 2
1 Solution
 
peter57rCommented:
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
totext({myTable.TimeOut}
else if {mytable.Status} = 2 then
"Absent"
else
"Annual Leave"


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

{MyTable.Status} <>1


Pete
0
 
mlmccCommented:
That should work.

Are you doing any summaries or totals of the hours?

mlmcc
0
 
TetraSAAuthor Commented:
hi,
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.

Thanks
0
 
mlmccCommented:
In that case I think I woud have the normal time fields use conditional suppression
Select the field
Click FORMAT --> 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.

mlmcc
 
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now