Bedingter Seitenumbruch im Bericht

Hallo Experten,

ich möchte in einem Bericht (AC97) einen bedingten Seitenumbruch ausführen.

Sagen wir, ich habe eine Tabelle „Rechnung“ und eine Tabelle „Positionen“. Die Tabellen sind über ein Index-Feld miteinander verknüpft (1:n).

Der Bericht setzt sich aus einem Hauptbericht und einem Unterbericht zusammen. Der Hauptbericht enthält die allgemeinen Rechnungsinfos (Kunde, Datum, etc.), der Unterbericht enthält die dazugehörigen Positionen.

So weit, so gut. Jetzt möchte ich, daß ein manueller Seitenwechsel erzwungen werden kann, indem z.B. für eine Position ein entsprechendes Feld angekreuzt wird. Aber das klappt nicht :frowning:

Mein Lösungsansatz: Ich habe ein Seitenumbruch-Steuerelement im Detailbereich des Unterberichts (dort, wo die Positionen aufgelistet werden) eingefügt. Im „Beim Formatieren“-Ereignis des Detailbereichs setze ich die Visible-Eigenschaft des Seitenumbruchs je nach Wunsch auf true oder false. Die Fromatierungsfunktion wird zwar korrekt ausgeführt… aber es erfolgt trotzdem kein Seitenumbruch. Daraufhin habe ich testhalber die Fromatierungsfunktion rausgeschmissen, in der Erwartung, daß jetzt jede Position auf einer getrennten Seite angezeigt wird. Dem war aber nicht so, der Bericht wird trotz Seitenumbruch auf einer Seite erstellt.

Was mache ich falsch? Warum mag Access meinen Seitenumbruch nicht? Für Eure Hilfe wäre ich sehr dankbar.

Gruß
Uwe

Bei mir klappt das wunderbar…

Poste doch mal deinen Code! Bzw. setz mal einen Haltepunkt und schau, ob der Code überhaupt ausgeführt wird.

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hi Reinhard,

ich haben den Code schon Schritt für Schritt ausgeführt, da liegt das Problem offenbar nicht. Die Visible-Eigenschaft wird korrekt gesetzt.

Was mich irritiert ist, daß der Seitenumbruch auch nicht durchgeführt wird, wenn ich überhaupt keinen Code ausführe, also wenn das Steuerelement grundsätzlich sichtbar ist. Gibt es irgendwelche Einstellungen in einem anderen Steuerelement (oder im Detailbereich oder sonstwo) die den Seitenumbruch verhindert? Oder kann es sein, daß ein Unterbericht keinen Seitenumbruch erzeugen kann?

Gruß aus dem mittleren Norden
Uwe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ups - Unterbericht…
… das hatte ich überlesen.

In einem Unterbericht geht das in der Tat so nicht.

Aber eigentlich brauchst du dafür doch gar keinen Unterbericht!?

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Tja, das erklärt dann wohl einiges. Ich hatte es schon befürchtet!

Ich benutze das Unterformular aus reiner Bequemlichkeit. Ich habe unterschiedliche Berichtsköpfe (Rechnung, Kostenvoranschlag, etc.), die alle mit dem gleichen Unterbericht arbeiten (die Positionsliste sieht immer gleich aus). Dadurch kann ich das Aussehen der Positionen aller Berichte verändern, ohne jeden Bericht einzeln neu zu formatieren. Na gut, dann muß ich mir eben was anderes einfallen lassen.

Vielen Dank für Deine Hilfe!
Gruß
Uwe

P.S.: Ich habe mir gerade mal Deine Homepage angesehen. Deine „Tipps und Tricks“ find ich gut!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Reinhard!

Ich habe doch noch eine Lösung gefunden. Das Seitenumbruch-Steuerelement hilft mir nicht weiter, aber dafür die ForceNewPage-Eigenschaft des Detailbereichs im Unterformular.

Das BeimFormatiern-Ereignis für den Detailbereich sieht dann folgendermaßen aus:

Private Sub Detail\_Format(...)
 If Me.NewPage Then 
 Me.Detail.ForceNewPage=2 ' oder 1 für Umbruch vor der Pos.
 Else
 Me.Detail.ForceNewPage=0
 End If
End Sub

Na bitte, ich muß also doch nicht alle Berichte umstricken *freu*

Gruß
Uwe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]