VBA DoCmd.PrintOut

10/11/2009 - 08:33 von Beck, Alwin | Report spam
Access 2003

Hallo,
über VBA drucke ein zahlreiche Berichte. Der Ausdruck erfolgte gem.
unten aufgeführtem
Code - zuerst in die Datei als SNP und dann auf den Drucker über

DoCmd.OpenReport stDocName, acNormal

Nun muss ich die Berichte jedoch beidseitig und mit 2 Kopien drucken
und habe nun DoCmd.OpenReport durch
DoCmd.PrintOut ersetzt.

Folg. ist dann passiert :
a) gebe ich bei DoCmd.PrintOut 2 Kopien an, so werden die Berichte
nicht korrekt gedruckt, d.h. bei einem Bericht welcher
z.B. 3 Seiten hat wird dann bei der Kopie 2 die erste Seite auf die
Rückseite der letzten Seite von Bericht Kopie 1 gedruckt.
Also habe ich dann 2 DoCmd.PrintOut mit je 1 Kopie gemacht
. aber...
b) nun wird mein Formular nicht mehr gezogen - also welcher Bericht
gedruckt werden soll, daher die Frage, wo
gebe ich bei DoCmd.PrintOut meinen Bericht an (also wie im
CoCmd.OpenReport stDocName ??

Hier mein Code :

Dim stDocName As String

mDatei = Me.Eingabe_VK.Value & Format$(mMonat, "00") &
Trim(Str(mJahr))
mDatei = "C:\VK21\P2_" & mDatei & ".snp"
DoCmd.OutputTo acOutputReport, "wawi_Umsatz Verkàufer nach
Kunden - Monatsliste-", acFormatSNP, mDatei, False

stDocName = "wawi_Umsatz Verkàufer nach Kunden - Monatsliste-"
'DoCmd.OpenReport stDocName, acNormal
DoCmd.PrintOut , , , , 1
DoCmd.PrintOut , , , , 1

Danke
Gruß
Albe
 

Lesen sie die antworten

#1 Karl Donaubauer
10/11/2009 - 09:08 | Warnen spam
Beck, Alwin wrote:
Access 2003
über VBA drucke ein zahlreiche Berichte. Der Ausdruck erfolgte gem.
unten aufgeführtem
Code - zuerst in die Datei als SNP und dann auf den Drucker über

DoCmd.OpenReport stDocName, acNormal

Nun muss ich die Berichte jedoch beidseitig und mit 2 Kopien drucken
und habe nun DoCmd.OpenReport durch
DoCmd.PrintOut ersetzt.

Folg. ist dann passiert :
a) gebe ich bei DoCmd.PrintOut 2 Kopien an, so werden die Berichte
nicht korrekt gedruckt, d.h. bei einem Bericht welcher
z.B. 3 Seiten hat wird dann bei der Kopie 2 die erste Seite auf
die Rückseite der letzten Seite von Bericht Kopie 1 gedruckt.
Also habe ich dann 2 DoCmd.PrintOut mit je 1 Kopie gemacht



Dann kannst du aber i.d.R. auch gleich zweimal OpenReport nehmen,
außer, der Bericht braucht lange.

. aber...
b) nun wird mein Formular nicht mehr gezogen - also welcher Bericht
gedruckt werden soll, daher die Frage, wo
gebe ich bei DoCmd.PrintOut meinen Bericht an (also wie im
CoCmd.OpenReport stDocName ??
...



Gar nicht. D.h. PrintOut druckt einfach das aktuelle Objekt am
Bildschirm. Wenn du unmittelbar vorher den Bericht in der
Seitenvorschau öffnest, dann sollte der Bericht dieses aktuelle
Objekt sei.

Lass PrintOut lieber bleiben und beschàftige dich mit dem
Printer-Objekt und dessen Eigenschaft "Copies" für die Anzahl
der Exemplare. s. <F1> und www.donkarl.com?FAQ5.1

Servus
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com

Ähnliche fragen