【问题标题】:Access Report: Page header on second page on per detail访问报告:每个详细信息的第二页上的页眉
【发布时间】:2011-05-03 12:55:32
【问题描述】:

我只想在第二页及以后显示页眉,但 PER 记录。新详细信息的第一页不应显示页眉。

原来我有以下代码

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
    Me.PageHeaderSection.Visible = Not (Me.Page = 1)
End Sub

它在除第一页之外的所有其他页面上显示标题。

我希望标题在每个组的第一页(但不包括第一页)之后可见。

【问题讨论】:

    标签: ms-access ms-access-2007 vba


    【解决方案1】:

    太复杂了。

    第一个更好!

    Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
    
        Me.PageHeaderSection.Visible = Not (Me.Page = 1)
        Debug.Print "Page " & Me.Page & " Visible = " & Not (Me.Page = 1)
    
    End Sub
    

    【讨论】:

      【解决方案2】:

      在报表的排序和分组中,添加标识记录和要分组的字段。在该节标题的 OnFormat 事件中,执行与上面相同的操作:RecordHeader.Visible=(Me.Page1)

      【讨论】:

      • 当您说“每条记录”时,每条记录的标识是什么?仔细阅读,如果记录 10 从第 15 页开始,您是否尝试不在第 15 页显示该记录的标题,但在第 16 页显示标题?
      • 好吧,我添加了一个组。这正是我想做的。
      【解决方案3】:

      我创建了这个简单的子程序,似乎可以解决问题。基本上,对于每个页面,它都会检查组是否与以前相同。如果不同,则假定它是组的第一页并且不显示页眉。

      'At the top of the module window I created a "Module-Level Variables".
      Dim current_group As Integer
      Dim temp_group As Integer
      
      Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
      
          current_group = Int(Me.MyGroupID)
      
          If current_group = temp_inst Then
              Me.PageHeaderSection.Visible = True
          Else
              Me.PageHeaderSection.Visible = False
          End If
      
          temp_group = current_group    
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-08
        • 2011-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多