VBA Tipp: Bericht nur drucken, wenn Daten vorhanden

Aus DBWiki
Wechseln zu: Navigation, Suche

Problem

Ich möchte einen Bericht nur drucken, wenn die zugrunde liegende Abfrage bzw. das verwendete Filterkriterium Daten liefert.

Lösung

Entweder vor dem Öffnen des Berichts prüfen:

   If DCount("*", "EineAbfrage", DieKriterien) > 0 then
      DoCmd.OpenReport "EinBericht", , , DieKriterien
   Else
      MsgBox "Keine Daten!", vbExclamation
   End If

Oder das NoData-Ereignis des Berichts nehmen:

Private Sub Report_NoData(Cancel As Integer)
   MsgBox "Keine Daten!", vbExclamation
   Cancel = True
End Sub

In diesem Fall musst du allerdings den Fehler (#2501) beim Öffnen des Berichts abfangen:

   On Error resume Next
   Docmd.OpenReport "DeinBericht", , , DieKriterien
   On Error Goto 0