I'd say on entry doesn't happen as often as you think. To print something that changes with every record, well, use the expression. mJindrova has a good idea for that.
Microsft posted this KB for how to print blobs:
It's a bit involved to do it as they implemnented it with a reportlistener and its BeforeBand event, but look at the comment:
*--------------------------------
*-- There has to be some way of redrawing the
*-- picture in the IMAGE class as the record pointer
*-- in the report's driving cursor changes; it does not occur
*-- automatically. [highlight #FCE94F]This could be done by a UDF() in the PrintWhen[/highlight]
*-- of the OLE Bound control on the report, or as is illustrated here,
*-- by a Report Listener BEFOREBAND() Event.
There's another idea to (mis) use the PrintWhen condition to update the image and have a simple static expression of the image object, which changes by PrintWhen.
Notice that variables you use in a report don't need to be created in the report variables section, it can be any local variable you define before running the report. The only advantage of variables created and updated by the report itself is encapsulation. The only real need is for calculation types other than none, though.
To clarify UDF is just meaning user define function. Can be anything that does something to the image variable and returns .T. in the end. So it could also be ýour EXECSCRIPT().
Chriss