Bericht maximiert anzeigen

Datenbank

Zum Öffnen von Berichten setzen Sie in Ihren Datenbanken häufig die Anweisung „DoCmd.OpenReport“ mit dem Parameter „acPreView“ ein. Access öffnet den Bericht dann allerdings in einem Fenster, das willkürlich positioniert und skaliert wird, sodass oftmals nur Teile des Berichtes zu sehen sind. Wünschenswert wäre es, wenn die Anzeige generell maximiert mit dem Zoomfaktor „Passend“ erfolgen würde. Das lässt sich leicht durch den Einsatz einer VBA-Funktion lösen.

Sie finden eine solche Funktion „Bericht- PassendMaximiert()“ im Modul „basBerichtAnzeigen“. Um diese Funktion zu nutzen, gehen Sie wie folgt vor:

  1. Importieren Sie über das Menü DATEIEXTERNE DATEN-IMPORTIEREN das Modul „basBerichtAnzeigen“ aus der Beispieldatenbank in die Datenbank, in der Sie die Lösung einsetzen möchten.
  2. Öffnen Sie das Formular, aus dem Sie einen Bericht per Schaltfläche öffnen möchten.
  3. Setzen Sie die Eigenschaft „Beim Klicken“ der betreffenden Schaltfläche auf „=BerichtPassendMaximiert(„Berichtname>“)“, wobei Sie „<Berichtname>“ durch den Namen des zu öffnenden Berichtes ersetzen.

  4. Stellen Sie die Eigenschaft „Rahmenart“ des Formulars auf „Dialog“.
  5. Testen Sie den Aufruf des Berichtes, indem Sie das Formular über das Menü ANSICHT-FORMULARANSICHT laufen lassen.

Beim Klicken auf die Schaltfläche wird die im Modul „basBerichtAnzeigen“ abgelegte Funktion „BerichtPassendMaximiert()“ aufgerufen:

Function BerichtPassendMaximiert(strReport As String)
Dim R As Report

Application.Echo False
On Error Resume Next
DoCmd.OpenReport strReport, acViewPreview
If Err <> 0 Then
Application.Echo True
Beep
MsgBox „Bericht/Auswertung »“ & strReport & „« nicht gefunden…“, vbOKOnly + vbExclamation, „BerichtPassendMaximiert():“
Exit Function
End If
DoCmd.Maximize
Set R = Reports(strReport)
R.ZoomControl = 0 ‚Passend…
Application.Echo True

End Function

Dabei schalten wir zunächst die Bildschirmaktualisierung ab, um störendes Flackern durch die folgenden Anweisungen zu vermeiden. Dann öffnen wir den über den Parameter „strReport“ spezifizierten Bericht im Vorschau-Modus. Tritt beim Öffnen ein Fehler auf, melden wir das entsprechend und verlassen die Funktion. Andernfalls ist der Bericht jetzt „unsichtbar“ als Fenster vorhanden. Über „DoCmd.Maximize“ schalten wir auf maximierte Darstellung um und setzen den Zoomfaktor über die Zuweisung von „ZoomControl = 0“ auf „Passend“.

Da Access für alle Objekte nur die Darstellung „Normal“ oder „Maximiert“ kennt, muss das aufrufende Formular mit der Rahmenart „Dialog“ angezeigt werden. Access setzt dann beim Schließen des Berichtes automatisch wieder „Normal“ für alle Objekte ein, da es die Größe von Dialog-Formularen nicht auf „Maximiert“ ändern kann.