VFP中没有提供直接获取报表总页数的函数或变量,但利用其提供的系统变量_pageno就可通过折衷的方法来获取报表的总页数,方法如下:
首先为在原有报表或新建报表中的“页注脚”带区增加一“域控件”(字段),其属性表达式为:
″第″+Alltrim(Str(_pageno))+″页/共″+Alltrim(Str(_Totalpage))+″页″
跟着创建一个调用打印报表的过程程序,如下:
Proc Repoproc
Publ _Totalpage
_Totalpage=0
REPORT FORM 报表名 NOCONSOLE
_Totalpage=_pageno
REPORT FORM 报表名 NOCONSOLE to prin
clea memo _Totalpage
retu
经以上改进后,只要执行“Do Repoproc”命令就可打印出有总页数的报表了。但要注意:修改后的报表在单独运行时可能会提示找不到变量“_Totalpage”的错误。
若报表要先预览后再决定是否打印,只要将以上程序的“to prin”替换为“PREVIEW”就可以了。