14. august 2003 - 16:09Der er
20 kommentarer og 1 løsning
Side antal på rapport
Hvordan får jeg side antal til at passe med gruppen på rapporten. Jeg vil gerne have at det således ud:
"side 1 af 3"
Hvis en gruppe har 3 sider, så skal den skrive "side 1 af 3", "side 2 af 3" og "side 3 af 3". Den skal ikke tage siderne for hele rapporten start til slut, men kun start og slut inden for gruppen.....
Sidetallet kan ordnes, men jeg kan ikke finde ud af totalsider.
Lav en ny makro, kald den eventuel ”Sideskift”
Ved handling vælg: angiv værdi Ved Element skriv: [Page] Ved udtryk skriv : 1
Luk og gem
I din rapport vælg gruppehoved og fod I gruppefoden vælger du tvungen sideskift = Efter sektion I gruppehovedet vælg hændelser ved formatering der vælger du din makro
proaccess: Den der hedder Me!Salesperson, skal jeg have lavet om til min egen control (Me!Kundenr), men jeg får en fjle der siger "Microsoft Access kan ikke finde feltet 'kundenr', der referes til i udtrykket." Hvad gøre jeg galt? jeg kopiret koden over til min access
Okay, har fundet det felt som jeg skal bruge. men nu får jeg en anden fel, "Kørselsfejl 438, objektet understøtter ikke denne type egenskab eller metode" og den stopper på denne linie: GrpNameCurrent = Me!Kundenr
Okay, nu kan jeg godt køre det. men der kommer ikke noget på min Tekstfelt i sidefoden...
Min kode ser således up nu....
Private Sub Sidefod_Format(Cancel As Integer, FormatCount As Integer)
Dim GrpArrayPage(), GrpArrayPages() Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant Dim GrpPage As Integer, GrpPages 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!Kunde 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!ctlGrpPages = "Group Page " & GrpArrayPage(Me.Page) & " of " & GrpArrayPages(Me.Page) End If GrpNamePrevious = GrpNameCurrent
Grunden til at der IKKE kommer noget ud nu er at din rapport ikke kommer gennem begge gange formattering, dette klares ved at sætte endnu et felt i sidefoden, som bare indeholder =[Pages] (feltet behøver ikke være synligt)
Du skal have de 3 første linier med dimensionering af variabler uden for din Sidefod_Format-sub...
som i:
Dim GrpArrayPage(), GrpArrayPages() Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant Dim GrpPage As Integer, GrpPages As Integer
Private Sub Sidefod_Format(Cancel As Integer, FormatCount As Integer) Dim i As Integer If Me.Pages = 0 Then ReDim Preserve GrpArrayPage(Me.Page + 1) ...
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.