仅在打印时显示报告页数

Posted

技术标签:

【中文标题】仅在打印时显示报告页数【英文标题】:Show Report Pages Count Only On Print 【发布时间】:2010-09-27 04:59:06 【问题描述】:

在 MS Access 报告中,可以使用带有以下内容的文本框显示页数:

= "Page " & Page & " of " & Pages & " Pages"

但是,这对于大型报表来说是有问题的,因为在所有页面都被格式化之前,Access 无法在预览中打开报表的第一页(因此它知道总页数)。

理想情况下,在预览中我只显示“第 123 页”,但当实际打印报告时,它会被“第 123 页,共 456 页”替换。

这可能是一厢情愿的想法,但有人做过这样的事情吗?

【问题讨论】:

【参考方案1】:

Access 2007(您没有指明您的版本),通过 vba 可以使用 CurrentView 属性,您可以更改页面文本框的控制源:

Private Sub Report_Open(Cancel As Integer)

 Select Case Me.CurrentView
      Case acCurViewDesign

      Case acCurViewPreview
          ' Page # Only
          Pages_TextBox.ControlSource = "Page" & Me.Page

      Case acCurViewReportBrowse

          ' Page # of #
          Pages_TextBox.ControlSource = "Page" & Me.Page & " of " & Me.Pages
      Case acCurViewLayout
               End Select
End Sub

【讨论】:

好建议。这些状态有命名常量,我倾向于使用它们而不是文字值,因为它们省去了添加 cmets 来解释每个值所指的内容。 谢谢杰夫。这在我将其更改为格式时有效: page_number.ControlSource = "= 'Page ' & [Page]" 不幸的是,如果用户预览报告,然后选择他们经常这样做的打印,则它不起作用。你也知道克服这个问题的技巧吗? 您可能必须在 PageHeaderSection_Format 中执行此操作。不理想,但打印时会触发。不好的是它为每个页面运行。

以上是关于仅在打印时显示报告页数的主要内容,如果未能解决你的问题,请参考以下文章

[ASP.NET Core 3.1 MVC Razor页面仅在模型成员有效时显示图标

Java FileInputStream.read() 打印时显示不需要的字符

打印子类时显示父类属性及仅显示非空字段

仅在单击某个按钮时显示弹出窗口

geany写C语言,printf打印中文时显示乱码

在 IE 和 Mozilla Firefox 中,背景颜色和背景图像未在打印到 PDF 时显示