詳細の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