Jeg ved ikke om de nye versioner af Access har en sådan indbygget funktion. Jeg har engang nuppet denne kode, som virker i 97 frem til 2003:
Option Compare Database Option Explicit
Dim GrpArrayPage(), GrpArrayPages() Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant Dim GrpPage As Integer, GrpPages As Integer
Private Sub Sidefodsektion_Format(Cancel As Integer, FormatCount As Integer) Dim i As Integer If Me.Pages = 0 Then ReDim Preserve GrpArrayPage(Me.Page + 1) ReDim Preserve GrpArrayPages(Me.Page + 1) GrpNameCurrent = Me!StofId If GrpNameCurrent = GrpNamePrevious Then GrpArrayPage(Me.Page) = GrpArrayPage(Me.Page - 1) + 1 GrpPages = GrpArrayPage(Me.Page) For i = Me.Page - ((GrpPages) - 1) To Me.Page GrpArrayPages(i) = GrpPages Next i Else GrpPage = 1 GrpArrayPage(Me.Page) = GrpPage GrpArrayPages(Me.Page) = GrpPage End If Else Me.txtSideNr = "Side " & GrpArrayPage(Me.Page) & " af " & GrpArrayPages(Me.Page) End If GrpNamePrevious = GrpNameCurrent End Sub
stofId er det felt der nulstiller sidetælleren txtsidenr er et ubunden tekstbox i sidefoden
kan ikke lige se hvad if-then-else der spørger : If Me.Pages = 0 Then skal gøre, uden virker det, men kan godt også se at det er noget skidt hvis der ikke er noget data.
ihvertfald skal tildelingen af teksten flyttes: Me.txtSideNr = "Side " & GrpArrayPage(Me.Page) & " af " & GrpArrayPages(Me.Page)
Den første "if" køres INDEN rapporten udskrives og initialisere variablerne grparraypage og grparraypages. "else" delen køres kun når rapporten udskrives og udskriver grparraypage og grparraypages på de rigtige steder.
I nogle tilfælde hvor rapport formateringen ikke kører flere gange har jeg også oplevet at koden ikke virker, men har løst det ved at indsætte alm. sidenummereing i en skjult textbox.
Takker for pts. Niels
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.