>My reports have code in the Init() methods to build the cursor that the report prints from. A blank page ejects when I issue REPORT FORM .... TO PRINTER PROMPT.
>Does anyone know a way to avoid this?
>Any ideas?
It's for backward compatibility :)
For nobody knows what reason, all versions of FoxPro, starting with (AFAIR) FP1.00 have a default "Eject Before" for new reports. I haven't checked how it works in VFP yet - the only reports I've done so far were conversions from FPD, and I've had a utility there to force "Page eject AFTER" on all reports it finds. You may also check another compatibility issue, the system variable _EJECT, which is probably set to "BEFORE"; issue _eject="AFTER" somewhere in startup of your app, and try that way.
Maybe I've missed the point completely, but having to work around this issue for years is a permanent nuisance, and I'd hate to find out that I'm right about this.
Oh, now I've seen the title, "on no data". That's different... maybe you have some objects in the PageFooter band, it did always tend to eject one extra sheet for no obvious reason. If nothing else helps, you could check if there are any records to process, and skip the report altogether if there are none.