нужно передать управление процедуре печати после остановки отчета пользователем по ESC.
это связано в длительностью выполнения. пользователь хочет посмотреть часть выполненного отчета, а потом запустить отчет полностью.
(0) Вываливай результат запроса в таблицу значений частями по N строк. Но нажатию ESC - прекращай формировать отчет, но таблица-то заполнена - ее и печатай. Думаю, что пользователю не влом будет жмакнуть кнопку Печать.