用VFP打印带总页数的报表

Author: 小文 Date: 2000年 第44期

  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”就可以了。
  以上实例只提供基本思路,有兴趣的VFP设计者不妨一试,有问题可来信与我探讨(iokyouok@21cn.com)。