[gelöst] Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 21:53

Hallo zusammen,

ich habe einen Report entworfen, der ein Deckblatt hat und danach Zeilen mit einer weiteren Header-Section ausgeben soll.
Jetzt habe ich das Problem, dass immer auf der 2 und letzten Seite eine leere Seite angedruckt wird.

Kurz zum Aufbau:

Deckblatt
1) Header mit Bild und Firmendaten
2) Textbaustein für VK-Kopf
3) Footer (unten, auf jeder Seite und KeepWithNext = No).

Weitere Seiten:
1) Header (ohne Firmendaten "nur" mit Logo)
2) Zeilen
3) Footer (unten, auf jeder Seite und KeepWithNext = No).
Hier wird die Seite angedruckt.

Egal wie ich das Programmiere, es wird immer eine zweite Leere Seite gedruckt.
Kann mir bitte jemand einen Tip gehen, wie ich das umgehen kann? Mit Ganzzahl funktioniert das auch nicht richtig.

Besonders weil ich zwischendrin noch ein Deckblatt einfügen darf. :-)

Viele Grüße,
Jürgen
Zuletzt geändert von jukr1975 am 18. November 2008 23:05, insgesamt 1-mal geändert.

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:00

Auch alle Header müssen unbedingt PrintOnEveryPage = Yes haben. Wie sieht das bei dir aus?
Wie erzeugst du den Seitenumbruch zwischen Deckblatt und dem Rest?

Außerdem schau mal, ob du hier noch Anregungen findest: Suche nach "leere Seite" bzw. "Seite leer"

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:04

Hallo Natalie,

alle Header haben PrintOnEveryPage = Yes. Das Deckblatt zwischendrin habe ich über ein Currreport.Newpage gesteuert. Das funktiert auch ganz gut.
Nach "leere Seite" habe ich schon gesucht, aber leider nichts gefunden, was mir helfen könnte. Die Einstellungen habe ich schon vorgenommen.
Aber vielleicht hast Du eine Idee, wie ich das anders machen könnte? Hast Du schon mal so etwas programmiert?

VG,
Jürgen

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:09

jukr1975 hat geschrieben: Hast Du schon mal so etwas programmiert?

Gefühlte 1000 Reports, und viele zickten rum und verhielten sich, wie sie es nicht tun sollten :-)

Wenn ich keine Erklärung habe, woher zu viele oder zu frühe Seitenumbrüche kommen, schreibe ich zuerst in alle (!) Sections (die näher verdächtigt sind) ein kleines Label mit dem Namen der Section. So sehe ich bei der Seitenvorschau z.B., ob ein DataItem oder eine Section öfter durchlaufen wird, als ich beabsichtigt hatte und wo genau der Seitenumbruch erfolgt ist.

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:21

Danke für den Tipp. Allerdings weiß ich jetzt gar nicht mehr, was ich tun soll.
Die zweite leere Seite ist der Footer der zweiten Seite ohne den Header und dann steht da noch Seite 3 statt Seite 2. :-)

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:24

Wo rufst du den CurrReport.NEWPAGE auf?
Hast du vielleicht unbemerkt mit NewPagePerRecord oder NewPagePerGroup = Yes gearbeitet?

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:34

Hallo Natalie,

jetzt bin ich ein bisschen weiter.
Habe nun für die erste Seite ein Integer-DataItem. Ebenso für die Zweite und die dritte Seite. Das funktoniert auch fast.
Die erste Seite TOP. Die Zweite Seite beginnt auch richtig. Allerdings wird das dritte DataItem drunter angedruckt, obwohl ich NewPagePerRecord angegeben habe.
Ich will jetzt nur noch eine neue Seite. :-)

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 22:39

Leider sehe ich deine DataItems und die Sections nicht, und so fällt es mir schwer zu beurteilen, was daran falsch ist (ich würde auf die DataItems tippen).
Du kannst aber zwischen DataItem 2 und 3 ein neues DataItem vom Typ Integer mit einem Durchlauf hinzufügen. In diesem DataItem kannst du dann CurrReport.NEWPAGE ausführen. Vergiss aber nicht, noch die Section rauszuschmeißen, die sich mit Einfügen des DataItems automatisch erstellt.

CurrReport.NEWPAGE kann man grundsätzlich auch in bestehenden DataItems verwenden, aber ich habe die Erfahrung gemacht, dass
a) der obige Vorschlag zuverlässiger funktioniert
b) ich durch den Namen des DataItems (ich nenne es dann z.B. PageBreak)auf den ersten Blick schneller sehe, was in meinem Report passiert :-)

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 23:03

Geschafft. Es wird nun keine leere Seite mehr gedruckt und die Deckblätter werden korrekt angezeigt.
Ein wenig Programmierung und ein paar Properties anders gesetzt.

Gibt es eigentlich ein Report-Kompendium, wo man nachlesen kann, was bei welcher Situation einzustellen ist? :-)

Re: Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 23:13

jukr1975 hat geschrieben:Ein wenig Programmierung und ein paar Properties anders gesetzt.

Und wie genau hast du es gelöst? Damit der nächste mit dem gleichen Problem schneller eine Lösung findet ..

Gibt es eigentlich ein Report-Kompendium, wo man nachlesen kann, was bei welcher Situation einzustellen ist? :-)
Danach suche ich schon lange 8-)

Re: [gelöst] Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 23:21

Die Einzelheiten kann ich Dir gar nicht sagen. Das wäre 1. ein Roman und 2. habe ich das schon wieder vergessen. :-)
Auf jeden Fall habe ich für die ersten 3 Seiten ein eigenes Integer-DataItem und NewPagePerRecord gesetzt. Dann habe beim ersten und zweiten DataItem keinen Header sondern einen Body und einen dazugehörigen Footer angedruckt.
Irgendwo habe ich noch zwei oder drei Properties geändert. Jetzt funktioniert es auf jeden Fall.

Es gibt eben kein Konzept für das Gestalten von Layouts. Aber ab 2009 funktioniert das ja ganz anders. Habe es kurz angesehen. Mal schauen, ob es so einfach wird, wie beschrieben.

Re: [gelöst] Leere Seiten zwischen Deckblatt und Zeilen

18. November 2008 23:27

jukr1975 hat geschrieben:Aber ab 2009 funktioniert das ja ganz anders.

Jein. Die Reports, wie du sie jetzt schreibst, stehen dir - neben den in Visual Studio - auch dort zur Verfügung.

Habe es kurz angesehen. Mal schauen, ob es so einfach wird, wie beschrieben.

Ich habs bisher über Reporting Services gemacht (gleiches Werkzeug) - einfacher wirds nicht, nur vielfältiger ...