VBA für Access
Das Objektmodell von Access: Öffnen und Schließen von Berichten
Öffnen und Schließen von Berichten
Auf dieser Seite
Mit Bild
Wie kann ich einen Bericht öffnen? Wie kann ich einen Bericht schließen?
Mit Bild
Einen Bericht öffnen
Mit Bild
' Variante 1 DoCmd.OpenReport "Rechnungen" ' Variante 2 Dim rptR As Report Set rptR = New Report_Rechnungen rptR.Visible = True rptR.Print ' Optional
Mit Bild
Für das Öffnen eines Berichts gibt es zwei Möglichkeiten: Die erste ist die Aktion DoCmd.OpenReport "Berichtname". Ein mit DoCmd.OpenReport geöffneter Bericht kann mit DoCmd.Close acReport, "Berichtname" wieder geschlossen werden.
Mit Bild
Die zweite Methode ist zwar etwas komplizierter, dafür aber flexibler. Dabei nutzt man aus, dass jeder Bericht, der bereits ein Modul hat, auch ein Objekt der Klasse Report_Berichtname ist. Man kann daher eine Variable dieser Klasse deklarieren und anschließend ein neues Objekt dieser Klasse erstellen:
Mit Bild
Dim rptR As Report_Berichtname
Mit Bild
Set rptR = New Report_Berichtname
Mit Bild
oder einfach:
Mit Bild
Dim rptR As New Report_Berichtname
Mit Bild
Enthält der Berichtname Zeichen, die in Visual Basic als Bezeichner nicht zulässig sind (z. B. Leerzeichen), muss der gesamte Klassenname in eckigen Klammern geschrieben werden.
Anschließend muss der Bericht aber noch über die Eigenschaft Visible eingeblendet werden:
Mit Bild
rptR.Visible = True
Mit Bild
Auf diese Weise können auch mehrere Instanzen des Berichts geöffnet werden. Um einen auf diese Weise geöffneten Bericht wieder zu schließen, setzt man die Objektvariable auf Nothing: Set rptR= Nothing.
Mit Bild
Gültigkeitsdauer von Variablen beachten!
Beachten Sie unbedingt die Gültigkeitsdauer von Variablen! Soll ein Bericht auch nach dem Ende der laufenden Prozedur geöffnet bleiben, muss er entweder einer statischen Prozedurvariablen, einer Modul-Variablen oder einer globalen Variablen zugewiesen werden.