Zuerst müssen Sie Berichtsvariablen verwenden: rechts auf den leeren Raum des Berichts klicken -> Variablen -> Erstellen Sie eine Variable wie Pagecount (set Standardwert 0)
dann in Sie Header oder footer -> create ein Textfeld und setzen Ausdruck ->
=Variables!PageCount.SetValue(Variables!PageCount.Value+1)
Es wird automatisch für jede Seite erhöht. (WICHTIG: NICHT verstecken es von Kopf- oder Fußzeile, der SetValue wird nicht funktionieren, wenn Sie die Box ausblenden, so ändern Sie die Schriftart auf 1 oder Text zu weiß, was auch immer tun, nur nicht verstecken (es wird gedruckt ‚True‘, wie die Einstellung Orte nahm))
Dann können Sie verwenden:
=Variables!PageCount.Value
an irgendeinem Teil Ihres Rohbericht die Seitennummer zuzugreifen.
WICHTIG: Bitte beachten Sie, dass ich versucht habe, Globals! PageNumber zu verwenden, um die Variable einzustellen, aber es wurde NICHT von Bericht Körper zugänglich. Also, es muss etwas sein, das sowohl von Header/Footer OR Body aus zugänglich ist.
In meinem Fall muss ich die Seitenzahl für jede Instanz meiner Gruppe zurücksetzen. Also habe ich am Ende der Gruppe einen Trigger gesetzt. (z. B. überprüfe ich, ob mein Gesamtwert zurückkehrt, weil ich weiß, dass ich für jedes Ende meiner Gruppe eine Gesamtanzeige habe.
Wegen in Funktion IIF
beide Wahr und Falsch Teil verarbeitet werden, also wenn Sie Setter in IIF
so setzen, wie unten:
=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0))
)
werden Sie endet haben Wert 0 die ganze Zeit, weil der Bericht wird der wahre Teil dann den falschen Teil prüfen, werden beide Setter ausgeführt werden (Wert zweimal eingestellt wird)
so brauchen wir zwei Boxen und so etwas wie: (Sie haben unnötige Feld Ihre Prüfung Bedingungen zu verbergen)
=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),"")
)
Sie müssen dieses Feld verstecken, wenn NOT IsNothing(ReportItems!TotalBox.Value)
=IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"")
)
Wieder müssen Sie dieses Feld verstecken, wenn IsNothing(ReportItems!TotalBox.Value)
Natürlich können Sie eine andere Art und Weise nutzen könnten das Ende zu bestimmen, Eine Gruppeninstanz wie: erstellt ein Textfeld, das am Ende der Gruppentabelle NUR einen festen Wert enthält. und verstecke es. Wenn Sie den Trigger überprüfen, tun Sie einfach den gleichen Ansatz wie ich.
Es funktioniert gut für alle Versionen über 2008 R2 (im Lieferumfang enthalten).
Funktioniert nicht für mich! in SQL Server 2012. – Rama
Dies funktioniert nicht in SQL Server 2016. –
@HuseinRoncevic Sorry Mann, schrieb ich diesen Beitrag im Jahr 2014, ich habe keine Chance, SSRS 2016 zu verwenden ......... –