访问 - 限制报告中每个组的记录,以便它们不会溢出到下一页

问题描述 投票:0回答:1

我的报告有点小问题。我需要限制每页提取的记录数。我已经尝试了很多东西,但无法弄明白。

基本上,我有一份报告,可以为我们的客户提供联系信息和付款历史记录。报告根据电话号码进行分组,并根据最近的付款日期进行排序。报告中的这些联系人将打印在3x5索引卡上。我遇到的问题是,有些人有多笔付款,而且它正在溢出到新卡上。

这是一个正在发生的事情的例子:

example

有关如何限制它的任何想法,以便它只能提取足够的记录来填充3x5卡然后停止?我正在使用access 2007。

vba ms-access access-vba ms-access-2007
1个回答
2
投票

一种可能的方法可能是在报告中添加一些VBA代码,这将禁止(Cancel)在n个项目后打印Detail带。我刚刚在Access 2010报告中尝试了以下代码,它似乎可以工作,但只有当我在“打印预览”中查看报告时才能使用。 (在“报告视图”中查看报告时,代码显然没有效果。)

Option Compare Database
Option Explicit

Dim mySeq As Long

Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer)
    mySeq = 0
End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    If FormatCount = 1 Then
        mySeq = mySeq + 1
    End If
    Cancel = (mySeq > 3)  ' don't print more than 3 detail bands per group
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.