Bericht drucken überlagern

Hallo, allerseits!

Ich öffne einen Access Bericht in der Vorschau. Wenn ich jetzt den Report über Strg P oder über den Menüpunkt Drucken ausdrücke nur jetzt soll eine bestimmte Funktion in VBA aufgerufen werden und nicht z.b wenn ich die Vorschau erstelle.

so jetzt zu meiner Frage wie kann ich das erreichen oder ist das überhaupt möglich?

mfg

Andreas

Hallo,
das report_activate Ereignis wird _nur_ bei einer Vorschau ausgelöst.

Gruss
Quaser

Hallo Quaser

Als erstes mal danke für die Antwort
leider ist es nicht ganz das was ich suche /brauche

ich brauche ein Ereignis das nur ausgelöst wird wenn die Seite wirklich am Drucker ausgedruckt wird

weiters wird die Seite aus der Vorschau heraus ausgedruckt so daß das
report_activate Ereignis immer aufgerufen wird

aber mit etwas Phantasie und eineigem umstellen, kann man da sicher eine Teillösung programmieren wenn also noch jemand eine Idee dazu hat bitte melden

mfg
Andreas

Hallo.

ich brauche ein Ereignis das nur ausgelöst wird wenn die Seite
wirklich am Drucker ausgedruckt wird

Das müsstest Du Dir wohl selbst basteln, d.h. den Menüpunkt, der per Drucksymbol oder STRG P aufgerufen wird, umstricken. Du könntest dann z.B. in Deiner Funktion beim Erstellen des Berichts als OpenArgs den Öffnungsmodus acPreview mitgeben, damit die Funktion weiß, dass es sich um Öffnung in der Voransicht handelt.

Für praktischer hielte ich es allerdings, zwei Reports anzulegen (einen in der Bildschirm- und einen in der Druckformatierung) …

Gruß Eillicht zu Vensre

Hi,

ich brauche ein Ereignis das nur ausgelöst wird wenn die Seite
wirklich am Drucker ausgedruckt wird

Das verstehe ich nun nicht. Du hast ein Ereignis welches NICHT ausgelöst wird wenn du einen Druck machst. Wenn du in diesem Ereignis eine Modulweite Bool-Variable setzt und diese Variable zb. im format-Ereignis abfragst, weißt du genau ob auf einen Drucker gedruckt wurde oder es eine Vorschau war. Also genau das was du willst.

ZB: so

Dim lDruck As Boolean

Private Sub Detailbereich\_Format(Cancel As Integer, FormatCount As Integer)

If lDruck Then
 debug.print "Ich war ein echter Druck!"
End If

End Sub

Private Sub Report\_Activate()
lDruck = False
End Sub

Private Sub Report\_Open(Cancel As Integer)
lDruck = True
End Sub

================================================

Gruss
Quaser