Ron
I want a report which counts the number of Registrations per Class,
where Registration relates to Registration_Class by ClassID.
Actually that works fine.
Good. Can you confirm that it works with the exact script below but
with the lines from Go To Record/Request/Page [First] up to End Loop
disabled? If so, then your report is basically OK.
Unfortunately, you do not tell us how/why the report doesn't work.
But I'd bet it is your omit process.
However, I want to restrict the report to a specific year as in
ClassYear (in Class) = 2008.
A date is not the same as a year. You can't successfully compare 2008
against 1/1/2008 (for example) in a calculation. Is this the problem?
I can’t do it in a Find and I can’t do it via script which I
prefer: the following script has a global gFromDate and gThruDate
in the Class table set to the date range I want, but doesn’t work.
If Registration_Class::ClassYear contains data such as 2008 and 2007,
then all you need is a simple find step in your script. Forget all
that (slow) looping and omitting. Something like this:
Enter Find Mode
Set Field [Registration_Class::ClassYear, gYear]
Perform Find [do not restore]
(where gYear is a global holding the year you are looking for)
I have tried the global field in Class, Registration, and in
holdVariable a one record table linked to Registration and to Class.
I'm guessing that is not your problem. It doesn't really matter where
the globals are.
Go to Layout [ “RegistrationReport” (Registration) ]
Show All Records
Go to Record/Request/Page
[ First ]
Loop
If [ Registration_Class::ClassYear < Registration_Class::gFromDate
or Registration_Class::ClassYear > Registration_Class::gThruDate ]
Omit Record
End If
Go to Record/Request/Page
[ Next; Exit after last ]
End Loop
Sort Records [ Specified Sort Order: Registration::ProgramName;
ascending
Registration::FKClassID; ascending ]
[ Restore; No dialog ]
Enter Preview Mode
HTH. If it doesn't, do confirm that this script works with those
steps disabled and also let us know what you mean by 'doesn't work'
-- ie you get the wrong report or you get a blank report or something
else.
Steve