Starting a new report based on a field.

G

Guest

What I am attempting to do is when the info. within a field changes perse from 9506 to 9708 that it begins to print a new report based off the next number in line. I have a db setup where we keep track of all our vehicles and everything pertaining to them (gas used, miles drove, etc.). What we need is for when the next vehicle number comes up that the report basically starts printing fresh (right now I enter the begin date, end date, and vehicle number for the report parameters - but would like to remove the vehicle number so it just prints the reports for all vehicles instead of having to do them one at a time), from the next vehicle number is reached. Any help is greatly appreciated. Thanks.
 
M

Marshall Barton

ChuckA said:
What I am attempting to do is when the info. within a field changes perse from 9506 to 9708 that it begins to print a new report based off the next number in line. I have a db setup where we keep track of all our vehicles and everything pertaining to them (gas used, miles drove, etc.). What we need is for when the next vehicle number comes up that the report basically starts printing fresh (right now I enter the begin date, end date, and vehicle number for the report parameters - but would like to remove the vehicle number so it just prints the reports for all vehicles instead of having to do them one at a time), from the next vehicle number is reached. Any help is greatly appreciated. Thanks.


Generally, a separate report for each something is not a
good idea, but you may have special circumstances that you
didn'e explain.

The typical approach is to specify the vehicle ID in a Group
level (View - Sorting and Grouping menu item). If you also
set the group to include a group Header and/or Footer
section, then you can use that section's ForceNewPage
property to start each one on a new page.
 
G

Guest

Basically what my boss wants is a seperate report for each vehicle in the database. As its set up now I can produce this report but I have to manually enter each and every vehicle number in the condition parameters I have setup (begindate, enddate, and vehicleid). What I want (and havent figured out how to do) is set it all up so i can remove the vehicle Id part and as the report gets to the next vehicle number in line it automatically starts a new report for that number. Thanks for any help.
 
M

Marshall Barton

ChuckA said:
Basically what my boss wants is a seperate report for each vehicle in the database. As its set up now I can produce this report but I have to manually enter each and every vehicle number in the condition parameters I have setup (begindate, enddate, and vehicleid). What I want (and havent figured out how to do) is set it all up so i can remove the vehicle Id part and as the report gets to the next vehicle number in line it automatically starts a new report for that number. Thanks for any help.


Oh boy! This is the second question today that I don't have
a good answer for. It is very difficult (and not especially
reliable) to generate multiple variations of the same report
using code. The OpenReport method will just give the focus
to a report that's already open. The approach of opening
multiple instances of the same report is a tricky affair at
best.

If you are printing the report directly to the printer (not
previewing) then you could use a code loop that checks if
the report is still printing a previous vehicle before
opening it again. Assuming you have some sort of list of
the vehicles, you could loop through the list and issue an
OpenReport (using the WhereCondition argument to specify the
vehicle) then use the SysCmd function to check if the repot
is closed before going around the loop for the next vehicle.
Something like this air code might do it:

For Each vehicle In somecollection
DoCmd.OpenReport "reportname", , ,"VID =" & vehicle
Do
DoEvents
Loop Until SysCmd(acSysCmdGetObjectState, _
acReport, "reportname") = acObjStateOpen
Next vehicle

I hear what you're saying about what the boss wants, but how
can he tell if he gets a pile of separate printouts or a
single printout that contains the same pages???
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top