在打印报表时,如何知道用户是真的打印了,还是点击了取消按钮而没有打印?

用"REPORT FORM 报表名 TO PRINTER PROMPT"语句打印时会弹出一个对话框,问题是可不可以拿到这个对话框的返回值,就是说我想知道用户是按了打印按钮,打印机正在打印还是按了取消按钮不打印,用来统计打印次数.
---------------------------------------------------------------

1、报表中添加一个报表变量
设计报表时,点击菜单上的‘报表’->‘变量...’,出现对话框后,在报表变量
中添加一个报表变量,如‘PrnTF’,其中‘要存储的值’、‘初始的值’、
‘重置’及‘计算’不用修改,用默认值。然后选中‘报表输出后释放’。
最后点击‘确定’。


(英文版)
设计报表时,点击菜单上的‘Report’->‘Variables...’,出现对话框后,在报表变量
中添加一个报表变量,如‘PrnTF’,其中‘Value to store’、‘Initial’、
‘Reset value based on’及‘Calculation type’不用修改,用默认值。
然后选中‘Release after report’。
最后点击‘确定’。


2、打印时:
REPORT FORM 报表名 TO PRINTER PROMPT
!---此句运行后,报表变量PrnTF被定义全局变量。
!---如果点击了打印按钮,进行了报表输出,报表变量就被释放了。
!---如果点击了取消按钮而不打印,报表变量并没有被释放。
!---所以通过检测是否存在此变量来判断是否打印了就可以了。
IF VARTYPE(PrnTF)='U'
MESSAGEBOX('已打印!',64,'信息提示')
ELSE
MESSAGEBOX('未打印!',64,'信息提示')
ENDIF

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus