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("*","DeineAbfrage",DeineKriterien) > 0 then
  DoCmd.OpenReport "DeinBericht",,,DeineKriterien
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 beim Öffnen des Berichts abfangen:

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