VFP6.0 报表,报表最后一张打不满,本页小计与本表合计在页尾,如何调整和数据打印本份连在一起.

时间:2022-05-11 11:41:13
VFP6.0 我做一报表,报表最后一张打不满,本页小计与本表合计在页尾,如何调整和数据打印本份连在一起.

5 个解决方案

#1


参考一下
在Visual FoxPro中有一类不太引人注意的事件——报表带区事件,在报表设计器中每一带区都有两类事件,入口事件和出口事件。 

   

1、使用方法 

  进入报表设计器,双击报表带区分隔条,打开报表带区对话框,在“On Entry”输入触发进入带区事件的函数名,在“On Exit”输入触发离开带区事件的函数名,注意这两个输入框,只能输入方法名或函数名,其他语句Visual FoxPro会忽略。 

   

2、举例说明 

  例1:在每页报表的尾部常常要求打印某些信息,如制表人,制表时间,每页小计等。用报表设计器非常容易做到,在页注脚带区设置相应的控件即可。问题是在报表的最后一页,常常不会满页,这样最后打印的数据与页注脚之间存在一段空白,很不美观,特别是数据使用了分隔线时更觉别扭。下面利用报表带区事件把最后一页页注脚带区的内容移到细节带区之后。打开过程文件,新增下列函数: 

  Function EndPrint() 

    EndPrint=.T. 

  EndFunction 

  或建立ENDPRINT.PRG文件,内容为 

  EndPrint=.T. 

  打开报表设计器,设计好各带区,或打开已有的报表文件,当然页注脚带区应有内容,否则,下面的做法毫无意义。全选页注脚带区各控件,复制到剪贴板,在“Report”菜单下选“Title/Summary”菜单项,在出现的窗口中选“Summary band”后,单击“OK”。把剪贴板的内容粘贴到总结带区,调整好位置,这时用打印预览可见最后一页数据后,紧接着输出页注脚,它们之间不存在空白,但页尾出现重复数据,退出预览,新增报表变量EndPrint,初始值为.F.,报表输出后释放。双击总结带区分隔条,在“Summary”对话框的“On Exit”中键入EndPrint(),退出后,分别双击注脚带区各控件,在弹出的对话框中单击“Print When”后,在“Print Only When Expression is True”中输入EndPrint=.F.,单击“OK”即可。 

  例2:Visual FoxPro报表设计器的数据分组功能非常强大和灵活,但分组的数量(组数)无法直接得到,例如以客户名分组数据,各客户的相关项数和合计金额以及全部客户的总计金额都容易得到,但客户的数量却无法直接统计。下面利用报表带区事件统计分组组数。打开过程文件,新增下列函数: 

  Function GroCount() 

    GroCount=GroCount + 1 

  EndFunction 

  或建立GROCOUNT.PRG文件,内容为 

  GroCount=GroCount + 1 

  打开报表设计器,设计好各带区,或打开已有的报表文件。新增报表变量GroCount,初始值为0,报表输出后释放。双击注脚带区分隔条,在弹出的对话框的“On Exit”中键入GroCount(),退出对话框,在“Report”菜单下选“Title/Summary”项,在打开的对话框中选“Summary band”复选框,单击“OK”。在总结带区添加客户数标签控件和字段控件,输入字段控件表达式为GroCount,调整好大小和位置即可。 

#2


楼主说得非常正确,可我的问题还是解决不了,能否把文件传给你给指点一下.

#3


发到 jack_wang0823@163.com

#4


已发
我的报表是分2栏,左右打印,打印时如结尾在右边,总结带区内容紧帖右边,左边空白;打印时如结尾在左边,总结带区内容另起一页.请教这种情况如何办

#5


没收到哦

#1


参考一下
在Visual FoxPro中有一类不太引人注意的事件——报表带区事件,在报表设计器中每一带区都有两类事件,入口事件和出口事件。 

   

1、使用方法 

  进入报表设计器,双击报表带区分隔条,打开报表带区对话框,在“On Entry”输入触发进入带区事件的函数名,在“On Exit”输入触发离开带区事件的函数名,注意这两个输入框,只能输入方法名或函数名,其他语句Visual FoxPro会忽略。 

   

2、举例说明 

  例1:在每页报表的尾部常常要求打印某些信息,如制表人,制表时间,每页小计等。用报表设计器非常容易做到,在页注脚带区设置相应的控件即可。问题是在报表的最后一页,常常不会满页,这样最后打印的数据与页注脚之间存在一段空白,很不美观,特别是数据使用了分隔线时更觉别扭。下面利用报表带区事件把最后一页页注脚带区的内容移到细节带区之后。打开过程文件,新增下列函数: 

  Function EndPrint() 

    EndPrint=.T. 

  EndFunction 

  或建立ENDPRINT.PRG文件,内容为 

  EndPrint=.T. 

  打开报表设计器,设计好各带区,或打开已有的报表文件,当然页注脚带区应有内容,否则,下面的做法毫无意义。全选页注脚带区各控件,复制到剪贴板,在“Report”菜单下选“Title/Summary”菜单项,在出现的窗口中选“Summary band”后,单击“OK”。把剪贴板的内容粘贴到总结带区,调整好位置,这时用打印预览可见最后一页数据后,紧接着输出页注脚,它们之间不存在空白,但页尾出现重复数据,退出预览,新增报表变量EndPrint,初始值为.F.,报表输出后释放。双击总结带区分隔条,在“Summary”对话框的“On Exit”中键入EndPrint(),退出后,分别双击注脚带区各控件,在弹出的对话框中单击“Print When”后,在“Print Only When Expression is True”中输入EndPrint=.F.,单击“OK”即可。 

  例2:Visual FoxPro报表设计器的数据分组功能非常强大和灵活,但分组的数量(组数)无法直接得到,例如以客户名分组数据,各客户的相关项数和合计金额以及全部客户的总计金额都容易得到,但客户的数量却无法直接统计。下面利用报表带区事件统计分组组数。打开过程文件,新增下列函数: 

  Function GroCount() 

    GroCount=GroCount + 1 

  EndFunction 

  或建立GROCOUNT.PRG文件,内容为 

  GroCount=GroCount + 1 

  打开报表设计器,设计好各带区,或打开已有的报表文件。新增报表变量GroCount,初始值为0,报表输出后释放。双击注脚带区分隔条,在弹出的对话框的“On Exit”中键入GroCount(),退出对话框,在“Report”菜单下选“Title/Summary”项,在打开的对话框中选“Summary band”复选框,单击“OK”。在总结带区添加客户数标签控件和字段控件,输入字段控件表达式为GroCount,调整好大小和位置即可。 

#2


楼主说得非常正确,可我的问题还是解决不了,能否把文件传给你给指点一下.

#3


发到 jack_wang0823@163.com

#4


已发
我的报表是分2栏,左右打印,打印时如结尾在右边,总结带区内容紧帖右边,左边空白;打印时如结尾在左边,总结带区内容另起一页.请教这种情况如何办

#5


没收到哦