今天我在学习Access报表打印时,想固定每页只打印自己想要的记录数。按照网上有些资料的步骤做了示例,结果能行。于是就拿自己的一个文件来做,但操作时出了点问题,于是将此问题发表出来,希望能给刚学报表打印的朋友一点借鉴。
想要在每页报表上打印固定的记录数,需要在报表主体节添加一个“分页”控件,再在报表主体节添加一个“计数”作用的文本框控件,将计数的文本框的“运行总和”属性设为“全部之上”,“控件来源”属性设为“=1 ”。
我开始时,在报表的 Print 事件中写下了设置分页的代码:
If Me.txtCounter Mod 15 = 0 Then ‘txtCounter是我在报表主体上放的计数控件
Me.PageBreak.Visible = True 'PageBreak是我在报表主体上放的分页符控件
Else
Me.PageBreak.Visible = False
End If
结果,预览报表,结果确让我失望,因为第一页有一条记录,从第二页开始才是我想要的15条记录。觉得好像计数控件的值在 Print 事件中计算时,均被减了1,所以预览出这样的结果。
于是,再仔细看别人的示例,发现别人的代码是放在 Format 事件中,于上,将上述代码放剪切到 Format事件中,预览,结果还是比较满意的。
至于为什么 Print 事件中,会在后台把计数控件值减1,我不清楚,也还希望有老师们来帮忙解释,像我这样的新手,如果想设置固定打印记录数的报表,那就请将这种代码放到 Format 事件中吧,希望能给大家带来点帮助。