how to solve a Min/Max-Calc in groupheader problem
Hello!
I've the following lines in a resultset
GroupID, Beginn, End, ...
1, 01.02.2004, 31.03.2004 ...
1, 01.01.2004, 29.02.2004 ...
1, 01.03.2004, 30.04.2004 ...
2, 01.02.2004, 31.03.2004 ...
2, 01.01.2004, 29.02.2004 ...
2, 01.03.2004, 31.05.2004 ...
Dates are in german DateFormat ('dd.mm.yyyy')
Now i want to calculate in the groupheader the following line (i.e for
GroupId 1)
01.01.2004 to 30.03.2004 = 121 Days
DbCalc1 DbCalc2 Variable1)
The date-fields are as dbcalc and look forward correct, but my variable
witch calculate the days between the min and max don't do correct.
In the rap i have the following small statement:
Variable1.AsInteger := (DbCalc2.Value - DbCalc1.Value) + 1;
I've tryed it in Variable1.OnCalc and Variable1.OnPrint but i never get the
days correctly
Wher i make the Variable look forward i get for each group the same value
(this is also wrong)
We have RB 7.02 and Delphi 7.
Greetings Ren?
Sorry about my bad english. I hope it's not to bad to understand my problem.
I've the following lines in a resultset
GroupID, Beginn, End, ...
1, 01.02.2004, 31.03.2004 ...
1, 01.01.2004, 29.02.2004 ...
1, 01.03.2004, 30.04.2004 ...
2, 01.02.2004, 31.03.2004 ...
2, 01.01.2004, 29.02.2004 ...
2, 01.03.2004, 31.05.2004 ...
Dates are in german DateFormat ('dd.mm.yyyy')
Now i want to calculate in the groupheader the following line (i.e for
GroupId 1)
01.01.2004 to 30.03.2004 = 121 Days
DbCalc1 DbCalc2 Variable1)
The date-fields are as dbcalc and look forward correct, but my variable
witch calculate the days between the min and max don't do correct.
In the rap i have the following small statement:
Variable1.AsInteger := (DbCalc2.Value - DbCalc1.Value) + 1;
I've tryed it in Variable1.OnCalc and Variable1.OnPrint but i never get the
days correctly
Wher i make the Variable look forward i get for each group the same value
(this is also wrong)
We have RB 7.02 and Delphi 7.
Greetings Ren?
Sorry about my bad english. I hope it's not to bad to understand my problem.
This discussion has been closed.
Comments
I can think of 2 techniques for implementing a solution:
1. Create a summary SQL query that calculates the Min, Max for each GroupId.
Link the summary to the detail. Then you do not need the DBCalc's with
LookAhead, you can use DBText and TppVariable to perform simple calculations
on the datafields.
2. Perform the calculation using the look ahead values from the DBCalc. The
following example shows how to use look ahead values in calculations:
www.digital-metaphors.com/tips/CalcUsingLookAheadValuesRAP.zip
--
Nard Moseley
Digital Metaphors Corporation
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com