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

Tima parameter in Crystal report 2008

Hi Team,

Hope someone can help me in this query.
I have a table which has a column called Open_time.This contains the datetime value.
I am running adhoc 10days report by creating startdate and enddate as parameter.
record selection looks like open_time >= {?StartDate} and open_time <= {?enddate}
where startdate lets say 03/01/2011 00:00:00 and enddate is 03/10/2011 23:59:59
Now I need to select those records where open_time in between those date range is 22:00 (10 PM) to morning 8 AM(out of businees nours)
Your early response will help me a lot.
0
AnandSahoo
Asked:
AnandSahoo
  • 4
  • 3
  • 2
  • +1
2 Solutions
 
nsonbatyCommented:
the date end and start are parameters, but inside the report you use a formula

if Hour (Time(open_time)>=22 and Hour (Time(Open_time))<8

then add the required action, then do your calculation on the resulted formula field
0
 
AnandSahooAuthor Commented:
I need to view only those records for which open time is between 10 and 8 on so an so date range.
I have tried to put the above in the record selection formula but it doesnt return any record.
But If I check manually in the database there are records in those time.

Require your help again
0
 
nsonbatyCommented:
in this case add then 1 as follow
if Hour (Time(open_time)>=22 and Hour (Time(Open_time))<8 then 1
and in the select expert, add condition that formula value = 1
0
How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

 
mlmccCommented:
A time can't be > 22 and < 8.  Mathematically impossible

{open_time} >= {?StartDate} and {open_time} <= {?enddate}
AND
(Hour({open_time} >= 22 OR Hour({open_time} <= 8)

mlmcc
0
 
AnandSahooAuthor Commented:
I did exactly the same but its not returning any numbers.
My select expert record selection looks like below
{OPEN_TIME} >= {?START DATE} AND
{OPEN_TIME} <= {?END DATE}
and {@Time} = 1

Time formula

if Hour (Time ({OPEN_TIME})) >= 22 and  Hour (Time ({OPEN_TIME})) <= 8
then 1 else 0
0
 
AnandSahooAuthor Commented:
Hi mlmcc,

Will this work as per th erequirement ? We are using or
This will select records if any one of them is true
0
 
mlmccCommented:
That should select the records you want.  It first ensures the date is in the range then checks if the hour is between 10pm and 8am

mlmcc
0
 
nsonbatyCommented:
the rang of selectig the report is diffent than the record selections, and what I send is already done on one of my report,
again, the report rang is teh data selection for all records in the report.
then filtering the record done through the formula, that upon this formula we filter the showed records.
in the paqrameters yoiu select the rang of days or months you need to report for.
then in teh formula
if Hour (Time(open_time)>=22 and Hour (Time(Open_time)) < 8 then 1 else 0

where open_time is your field in the table ( will be diffrent when you select it from the table it self, will depend on the table name)
add the formula record to the report detail section and run the report to conform that the formula runs correctly
then depends on the crystal version, in the 2008
select reprot > select expert > records
selct new
then select the formula you just create and selct value is equal 1
this is not impossible mathematically, sepcially you should nt select 8 when add <= because 8 is in the rang of working hours
0
 
nsonbatyCommented:
sorry, replace and by or, maybe that what they mean. but I did not get it from the first time
0
 
James0628Commented:
This has already been covered, but just to re-iterate, the AND in your @Time formula should be OR.  nsonbaty used AND in that first formula that he posted, but it should have been OR.

 FWIW, you don't really need the @Time formula, and I think using it just complicates the selection formula unnecessarily.  Also, if OPEN_TIME is a datetime, then you don't need to use Time () and Hour ().  You can just use Hour ().

{OPEN_TIME} >= {?START DATE} AND
{OPEN_TIME} <= {?END DATE} AND
(Hour ({OPEN_TIME}) >= 22 OR Hour ({OPEN_TIME}) <= 8)


 James
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

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