Tempo fa io ho risolto (complicandomi un po' di più la vita) e forse non in modo elegante per un database ad uso personale
Nel mio caso tenevo separato anche l'incremento di pagina (uno per le pari e uno per le dispari) non so se è questo che ti serve.
Su SezionePièDiPaginaPagina_Print ho inserito questo codice che si appoggia su una tabella (tbl_Page_Rpt )
richiamando poi in una txt i valori con dlookup e visualizzando solo la txt opportuna (probabilmente ne basta una di txt popolandola con il valore adeguato )
Dim TotPari, TotDispari, NumPagine, PagPari, PagDispari, Contatore, Indice
If Me.Page = 1 Then 'Esegue solo prima volta
DoCmd.RunSQL "DELETE * FROM tbl_Page_Rpt;"
Contatore = 0
Indice = 1
PagDispari = 0
Do Until Contatore = Me.Pages
TotPari = Int(Me.Pages / 2) 'pagine pari
TotDispari = Me.Pages - TotPari 'pagine dispari
DoCmd.RunSQL " INSERT INTO tbl_Page_Rpt ( NumeroTotalePagine, NumeroTotalePari, NumeroTotaleDispari, ProgressivoPari, ProgessivoDispari )SELECT " & Indice & " AS NumeroTotalePagine, " & TotPari & " AS NumeroTotalePari, " & TotDispari & " AS NumeroTotaleDispari, 0 AS ProgressivoPari, 0 AS ProgessivoDispari;"
Indice = Indice + 1
Contatore = Contatore + 1
Loop
Dim conn As ADODB.Connection
Dim rs1 As ADODB.Recordset
Set conn = CurrentProject.Connection
Set rs1 = New ADODB.Recordset
Dim NumPages, ContPari, ContDispari
ContPari = 1
ContDispari = 1
rs1.Open "tbl_Page_Rpt", conn, adOpenDynamic, adLockOptimistic
Do Until rs1.EOF
NumPages = (rs1("NumeroTotalePagine"))
If (NumPages / 2) - Int(NumPages / 2) = 0 Then
With rs1
.Fields("ProgressivoPari") = ContPari
.Update
End With
ContPari = ContPari + 1
Else 'Se dispari
With rs1
.Fields("ProgessivoDispari") = ContDispari
.Update
End With
ContDispari = ContDispari + 1
End If
rs1.MoveNext
Loop
rs1.Close
conn.Close
Set conn = Nothing
Set rs1 = Nothing
End If
TotPari = Int(Me.Pages / 2)
TotDispari = Me.Pages - TotPari
Me.txtTotPari = "Pagina " & DLookup("[ProgressivoPari]", "tbl_Page_Rpt", "[NumeroTotalePagine] = " & Me.Page) & " di " & TotPari
Me.txtTotDispari = "Pagina " & DLookup("[ProgessivoDispari]", "tbl_Page_Rpt", "[NumeroTotalePagine] = " & Me.Page) & " di " & TotDispari
'visualizzo solo la txt opportuna
If (Me.Page / 2) - Int(Me.Page / 2) = 0 Then
Me.txtTotDispari.Visible = False
Me.txtTotPari.Visible = True
Else
Me.txtTotDispari.Visible = True
Me.txtTotPari.Visible = False
End If