If you have one day and want to select a whole week in crystal reports then you can do like this.
{@Today} is any date in a week and the only date we know.
This returns the date of the first day in the week if the first day is a Monday.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| If DayOfWeek({@Today}) = 2 Then
{@Today}
Else If DayOfWeek({@Today}) = 3 Then
dateadd ("d",-1,{@Today})
Else If DayOfWeek({@Today}) = 4 Then
dateadd ("d",-2,{@Today})
Else If DayOfWeek({@Today}) = 5 Then
dateadd ("d",-3,{@Today})
Else If DayOfWeek({@Today}) = 6 Then
dateadd ("d",-4,{@Today})
Else If DayOfWeek({@Today}) = 7 Then
dateadd ("d",-5,{@Today})
Else If DayOfWeek({@Today}) = 1 Then
dateadd ("d",-6,{@Today}) |
This returns the last date in the week (if its a Sunday) and the last time of the week.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Local DateTimeVar d := DateTime (DatePart ("yyyy", {@Today}), _
DatePart ("m", {@Today}), DatePart ("d", {@Today}), 23, 59, 59);
If DayOfWeek({@Today}) = 2 Then
dateadd ("d",+6,d)
Else If DayOfWeek({@Today}) = 3 Then
dateadd ("d",+5,d)
Else If DayOfWeek({@Today}) = 4 Then
dateadd ("d",+4,d)
Else If DayOfWeek({@Today}) = 5 Then
dateadd ("d",+3,d)
Else If DayOfWeek({@Today}) = 6 Then
dateadd ("d",+2,d)
Else If DayOfWeek({@Today}) = 7 Then
dateadd ("d",+1,d)
Else If DayOfWeek({@Today}) = 1 Then
d; |
Note that the code examples says delphi, but it´s crystal syntax.