PDA

Vollständige Version anzeigen : Seitenumbruch in Bericht mit Unterberichten


rudi22
30.09.2005, 00:34
Ich habe einen Hauptbericht, in dessen Detailbereich sich untereinander 2 Unterberichte befinden. Der Hauptbericht und die Unterberichte basieren jeweils auf verschiedenen Abfragen.

Ein Datensatz im Hauptbericht erzeugt somit 2 Unterberichte, die in der Seitenansicht nacheinander dargestellt werden.

Die Länge der Unterberichte variiert je nach Datensatz relativ stark: Manchmal ist ein Unterbericht etwa eine halbe Seite lang, dann 2 Seiten lang. Nun kann es passieren, dass ein Unterbericht pro Datensatz des Hauptberichts mehrmals hintereinander dargestellt wird (von der Abfrage abhängig).

Mein Ziel ist es, dass jeder Unterbericht auf einer eigenen Seite dargestellt wird und dass es KEINE leeren Seiten zwischen den einzelnen (Unter)berichten gibt.

Bisher habe ich das so gelöst wie auf http://support.microsoft.com/default.aspx?scid=kb;en-us;209006 beschrieben: Ein laufender Zähler für die Unterberichte der feststellt, ob der Unterbericht das letzte Mal für diesen "Haupt-Datensatz" dargestellt wird (und somit der nächste "Haupt-Datensatz" drankommt), oder ob nochmals der Unterbericht dargestellt wird.

Falls ein neuer Haupt-Datensatz kommt, dann wird per VBA-Code ForceNewPage = 0 ausgelöst. Dadurch, dass ein neuer Haupt-Datensatz kommt, wird sowieso ein Seitenumbruch gemacht (verhindert eine Leerseite).

Wenn noch ein Unterbericht kommt, dann wird ForceNewPage = 2 ausgelöst.

Das Problem ist folgendes: Es tritt immer beim Übergang von einem Haupt-Datensatz zum anderen auf. Wenn auf der Berichtsseite noch genügend Platz für den ersten Unterbericht des folgenden Datensatzes ist, dann wird dieser auf der selben Seite dargestellt, wie der letzte Unterbericht des vorherigen Haupt-Datensatzes. Dies aufgrund von ForceNewPage = 0. Wenn ich hingegen auch beim letzten Unterbericht eines Haupt-Datensatzes ForceNewPage =2 mache, dann erzeugt access eine Leerseite zwischen dem letzten Unterbericht des vorherigen Haupt-Datensatzes und dem ersten Unterbericht des folgenden Haupt-Datensatzes.

Wie erreiche ich, dass jeder Unterbericht auf seine eigene Seite kommt und dass keine Leerseiten auftreten?

Nouba
30.09.2005, 02:47
Geht's nicht auch ohne Crossposting?