在报表的 Page Footer, On Exit 中,增加表达式:_vfp.setvar("gcReportDest", Sys(2040))
然后你就可以判别状态了。
假设你用代码方式增加 Sys(2040),以及调用的示例:
Public gcReportDest
*********
Create Cursor aa (aa I Autoinc)
Append Blank
*!*
创建一个 aa 报表,设置页脚的 On Exit
Create Report aa From aa
Select 0
Use aa.frx
Locate For ObjType=9 And ObjCode=7
If Found()
Replace TAG2 With '_vfp.setvar("gcReportDest", sys(2040))'
&& 在 Page Footer, On Exit 中
Endif
Use
Select aa
Set ReportBehavior 80
gcReportDest="0"
Report Form aa Preview
Do Case
Case gcReportDest="1"
Messagebox("报表预览输出,未打印输出")
Case gcReportDest="2"
Messagebox("报表打印输出")
Otherwise
Messagebox("无活动报表")
Endcase
*!*
Set ReportBehavior 90 报表预览
Set ReportBehavior 90
gcReportDest="0"
Report Form aa Preview
Do Case
Case gcReportDest="1"
Messagebox("报表预览输出,未打印输出")
Case gcReportDest="2"
Messagebox("报表打印输出")
Otherwise
Messagebox("无活动报表")
Endcase
*!*
Set ReportBehavior 90 to 报表打印
gcReportDest="0"
Report Form aa To Printer
Do Case
Case gcReportDest="1"
Messagebox("报表预览输出,未打印输出")
Case gcReportDest="2"
Messagebox("报表打印输出")
Otherwise
Messagebox("无活动报表")
Endcase