What you can try:
- create a group if there is a relationship between the 20 records such that the next 20 belong to some other sort of group, and the next 20 to some other group, etc.
- if you cannot group, size and/or space the row(s) of controls in the detail section so that only 20 rows will fit
- size the page footer so that only 20 records will fit. This will create extra space at the bottom. If you have page counter or date showing in the page footer, you would have to move that to the bottom so that there's not a whole lot of space after it.
- using vba code in the report Format event to start a new page after 20 records. This is more complicated and may only work for the print preview and not the report view. You would also need a textbox (can be hidden) say, txtRowCount; whose control source is set to =1 and set it to Running Sum - over group. A code example for this:
Code:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If txtRowCount Mod 20 = 0 Then
Detail.ForceNewPage = 2 'create new page
Else
Detail.ForceNewPage = 0 'not 20 records yet; don't create new page
End If
End Sub
Not sure how you'd show the row number if you need it.