詳細のNextRecord

プリント詳細のレコードの進行をフォーマット時にコントロールします。
'1ページに印刷したセクション数を格納する変数
Private iCount As Integer
'印刷するトータルセクション数を格納する変数
Private tCount As Integer
'1ページに印刷するセクション数を格納する変数
Private Gyo As Integer
Private Sub Report_Open(CANCEL As Integer)
Dim RS As DAO.Recordset
Dim mySQL As String
'セクション数を16にセットします。
Gyo = 16
'レポートのレコードソースをセットします。
mySQL = "SELECT A.* FROM A;"
Me.RecordSource = mySQL
'トータルのセクション数を取得します。
Set RS = CurrentDb.OpenRecordset(mySQL, dbOpenSnapshot)
If Not RS.BOF Then
RS.MoveLast
tCount = RS.RecordCount
End If
RS.Close
Set RS = Nothing
End Sub
Private Sub レポートヘッダー_Format(CANCEL As Integer, FormatCount As Integer)
iCount = 0
End Sub
'CPage は改行コントロール
Private Sub 詳細_Format(CANCEL As Integer, FormatCount As Integer)
Dim mySQL As String
iCount = iCount + 1
If iCount < tCount Then
'レポート最後の前までの処理
Ctrl_visible True
'1ページのセクション数が Gyo になったら改行
If iCount Mod Gyo = 0 Then
Me.CPage.Visible = True
Else
Me.CPage.Visible = False
End If
Me.NextRecord = True
ElseIf iCount = tCount Then
'レポート最後のセクションの処理
Ctrl_visible True
If iCount Mod Gyo = 0 Then
Me.CPage.Visible = True
Me.NextRecord = True
Else
Me.CPage.Visible = False
Me.NextRecord = False
End If
ElseIf iCount > tCount Then
'レポート最後の後処理
Ctrl_visible False
If iCount Mod Gyo = 0 Then
Me.CPage.Visible = True
Me.NextRecord = True
Else
Me.CPage.Visible = False
Me.NextRecord = False
End If
End If
End Sub
Private Sub Ctrl_visible(bool As Boolean)
Me("コントロール名").Visible = bool
End Sub