What I would do is put all three headers on the same report, then make the labels and fields for two of them not visible. Another shortcut would be to set the tag properties to let you know which labels and such belong to which copy. For example set the tag for all of the first copy to "first", etc.
Print the reports from a form and when the print command button is clicked set a flag for the print and unhide the other headers.
something like
create a public variable in a module.
public strcopy as string
cmdPrint onclick:
strcopy ="first"
docmd.openreport "ReportName", acNormal
strcopy="second"
docmd.openreport "ReportName", acNormal
strcopy="third"
docmd.openreport "ReportName", acNormal
Then in the format event of the report header use the controls collection to hide and unhide the appropriate labels and such.
If you've set the tag properties in advance it becomes fairly simple.
dim ctl as control
for each ctl in me.controls
if ctl.tag=strcopy then
ctl.visible=true
else
ctl.visible=false
end if
next ctl
Let me know if you have any problems with it.
Charity
[This message has been edited by charityg (edited 06-04-2001).]