0

我的报告有点问题。我需要限制为每页提取的记录数。我已经尝试了很多事情,但无法弄清楚。

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

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

例子

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

4

1 回答 1

2

一种可能的方法可能是在报表中添加一些 VBA 代码,以抑制 ( ) 在n 个Cancel项目之后打印详细信息带。我刚刚在 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
于 2013-10-05T13:11:17.887 回答