Eerst moet u rapportvariabelen gebruiken: klik met de rechtermuisknop op de lege ruimte van rapport -> Variabelen -> Maak een variabele zoals PageCount (stel standaardwaarde in op 0)
Dan in je kop- of voettekst -> maak een tekstvak en stel uitdrukking in ->
=Variables!PageCount.SetValue(Variables!PageCount.Value+1)
Het zal automatisch toenemen voor elke pagina.(BELANGRIJK:verberg het NIET in de kop- of voettekst, de SetValue zal NIET werken als je het vak verbergt, dus verander het lettertype naar 1 of tekst naar wit, doe wat dan ook, gewoon NIET verbergen (het zal 'True' afdrukken als de instelling plaatsvond))
Dan kun je het volgende gebruiken:
=Variables!PageCount.Value
op een willekeurig deel van uw rapport om toegang te krijgen tot het paginanummer.
BELANGRIJK:Houd er rekening mee dat ik heb geprobeerd om Globals!PageNumber te gebruiken om de variabele in te stellen, maar deze was uiteindelijk NIET toegankelijk vanuit de hoofdtekst van het rapport. Het moet dus iets zijn dat zowel toegankelijk is vanuit Header/Footer OF Body.
In mijn geval moet ik het paginanummer opnieuw instellen voor elke instantie van mijn groep. Dus ik stel gewoon een trigger in aan het einde van de groep. mijn groep ik zal een totale weergave hebben.
Vanwege in functie IIF
zowel True als False worden verwerkt, dus als je setters in IIF
plaatst, zoals hieronder:
=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0))
)
je zult uiteindelijk altijd waarde 0 hebben, omdat het rapport het ware deel en vervolgens het valse deel zal controleren, beide setters worden uitgevoerd (de waarde wordt twee keer ingesteld)
dus we hebben 2 vakjes nodig en zoiets als:(Je moet onnodig vakje verbergen voor je controlevoorwaarden)
=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),"")
)
U moet dit vak verbergen wanneer NOT IsNothing(ReportItems!TotalBox.Value)
=IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"")
)
Nogmaals, u moet dit vak verbergen wanneer IsNothing(ReportItems!TotalBox.Value)
Natuurlijk kun je een andere manier gebruiken om het einde van een groepsinstantie te bepalen, zoals:maak een tekstvak dat ALLEEN een vaste waarde aan het einde van je groepstabel bevat. en verberg het. wanneer je de trigger controleert, doe dan gewoon dezelfde aanpak als ik.
Het werkt prima voor alle versies boven 2008 R2 (meegeleverd).