【问题标题】:Extra space every 10 lines on a Microsoft Access reportMicrosoft Access 报告中每 10 行额外的空间
【发布时间】:2019-11-19 03:37:51
【问题描述】:

为了便于阅读,我想在每个报告页面上每 10 行添加一些额外的空间。

我尝试在 Detail_Format 事件例程中计算行数并更改详细信息部分的高度,但这似乎没有任何作用。

然后我尝试使用一个高大的虚拟字段,其中只有一个空格字符,每 10 行可见(以及正确的 CanShrink 设置),额外的空间可见但不在正确的行上。仪器显示事件例程正在正确计算,但效果似乎不同步。

但是必须有一个简单的方法来做到这一点,对吧?有什么建议吗?

【问题讨论】:

标签: ms-access report


【解决方案1】:

据我所知,这样的结果只有在打印布局中才有可能。

我就是这样做的:

该示例计算每一页的打印行数,并使用Detail 部分的Print 事件在必要时通过设置报告的PrintSectionNextRecord 属性来添加一个空行。

为确保重置每个页面的计数器并防止页面的第一行为空白,使用PageHeaderSectionFormat 事件。

使用常量INSERT_BLANK_ROW_EVERY 设置何时应插入空白行。

Const INSERT_BLANK_ROW_EVERY As Integer = 10

Dim insertBlankRowNext As Integer
Dim pageLineCount As Integer

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
    If PrintCount = 1 Then pageLineCount = pageLineCount + 1

    Me.PrintSection = Not insertBlankRowNext
    Me.NextRecord = Not insertBlankRowNext

    insertBlankRowNext = (pageLineCount Mod INSERT_BLANK_ROW_EVERY = 0)
End Sub

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
    pageLineCount = 0

    insertBlankRowNext = False
End Sub

关于PrintCount 参数微软写道:

每次计算当前节的 OnPrint 属性设置时,Microsoft Access 都会递增 PrintCount 属性。打印下一部分时,Access 将 PrintCount 属性重置为 0。

在此处查看详细信息:Report.PrintCount property

【讨论】:

    【解决方案2】:

    您还可以添加空白的虚拟虚假记录。
    假设您的报告基于查询,例如Query1,而不是将其用作报告的 RecordSource,您可以将其用作表的源(制作表)并创建一个包含您想要的信息但具有额外记录(行)以提高可读性的表。
    就在将 Query1 “转储”到表之后......您将其加载到 RecordSet ...您迭代记录并根据您的需要添加新记录。

    【讨论】:

      【解决方案3】:

      根据 UnhandledException 的回答中的信息,我就是这样做的,而且实际上很容易做到。

      第 1 步:在详细信息行上添加所需高度的文本框。我认为必须为文本框和详细信息行设置 CanShrink。

      第 2 步:将这些添加到您的事件处理中:

      Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
      
          LineFormatEvents = LineFormatEvents + 1
          Me.txtExtraSpace.Visible = (LineFormatEvents Mod 10 = 0)
      
      End Sub
      
      Private Sub PageHeaderSection_Paint()
      
          LineFormatEvents = 0
      
      End Sub
      

      请注意,我使用的是 Access 2016;我不知道这能用多少个版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-18
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多