PDA

Vollständige Version anzeigen : Report seitenweise drucken ?


RWg
03.01.2002, 15:46
Hi zusammen,
was ich immer schon mal wissen wollte :
Kann ich mithilfe

»DoCmd.OpenReport stDocName, acNormal« + evtl. Parameter

auch festlegen, daß hier nur Seite X gedruckt werden soll oder muß ich da in die Tiefen der Druckeransteuerung?

Ciao
Roland

AWSW
03.01.2002, 20:27
Hallo RWg,
wenn ich Dich richtig verstehe, dürfte Dir wohl dieser Tipp von <a href="http://www.donkarl.com" target="_blank">http://www.donkarl.com</a> weiterhelfen:
<hr width="75%">
5.9 NUR AKTUELLEN DATENSATZ DRUCKEN


P r o b l e m
Du möchtest aus einem Formular heraus nur den aktuellen Datensatz drucken. Wenn du den entsprechenden Bericht öffnest, werden aber immer alle Datensätze des Formulares bzw. der zugrundeliegenden Tabelle oder Abfrage ausgegeben.

L ö s u n g e n
Verwende als Datensatzherkunft des Berichtes eine Abfrage und schreibe dort bei den Kriterien eines passenden, eindeutigen Feldes einen Bezug auf dein Formular:
Formulare!Dein_Formular!Dein_Eindeutiges_Feld

oder

Wenn du den Bericht per VBA öffnest, kannst du den Bezug auf den aktuellen Datensatz im Formular direkt übergeben. z.B.
bei einem Zahlfeld:
DoCmd.OpenReport "DeinBericht", , , "ID =" & Me!ID
bei einem Textfeld:
DoCmd.OpenReport "DeinBericht", , , "Firma = '" & Me!Firma & "'"

Analog kannst du vorgehen, wenn du nicht nur einen Datensatz, sondern eine Gruppe von Datensätzen mit einem gemeinsamen Merkmal drucken willst.
<hr width="75%">

RWg
03.01.2002, 20:40
@AWSW
Danke - aber nein ;-)
Ich will wirklich nur eine bestimmte Seite des Berichts ausdrucken.

Hintergrund:
Ich drucke Rechnungen, die auf der zweiten Seite - meistens - eine Auflistung enthalten. Wenn diese Auflistung leer ist, spare ich mir das Papier und drucke von Hand nur die erste Seite.
Das Statement wäre also etwa so :
If XY_Datensätze = leer, dann
drucke nur die erste Seite des Berichts,
else drucke den ganzen Bericht! :D
Und dafür interessieren mich halt evtl. zus. Parameter.

AWSW
03.01.2002, 20:48
Hmmmm,
vielleicht ein Ansatz: Sofern der Bericht aus mehreren Seiten besteht diesen durch mehrere einzelne ersetzen und dann die Felder auf Ihre "Füllung" überprüfen und dann wenn diese gefüllt sind diesen einzelnen Bericht ausdrucken, sonst nicht...

Ich hoffe ich hab Dich richtig verstanden und konnte Dir etwas helfen :D

RWg
03.01.2002, 20:59
Naja, habe ich ja im Grunde nicht anders erwartet.
Sonst wär's ja im Laufe der Zeit mal an mir
irgendwie "vorbeigekommen".
Trotzdem danke
Roland B-)=