Report.NoData-Ereignis (Access)

Das NoData-Ereignis tritt auf, nachdem Microsoft Access einen Bericht zum Drucken formatiert hat, der keine Daten enthält (der Bericht ist an eine leere Datensatzgruppe gebunden), aber bevor der Bericht gedruckt wird. Verwenden Sie dieses Ereignis, um den Druck eines leeren Berichts abzubrechen.

Syntax

Ausdruck. NoData (Abbrechen)

Ausdruck Eine Variable, die ein Report-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Abbrechen Erforderlich Integer Diese Einstellung bestimmt, ob der Bericht gedruckt werden soll. Wenn Sie das Cancel-Argument auf True (1) festlegen, wird verhindert, dass der Bericht gedruckt wird. Sie können das Drucken des Berichts auch mit der CancelEvent-Methode des DoCmd-Objekts unterbinden.

Bemerkungen

Soll ein Makro oder eine Ereignisprozedur ausgeführt werden, wenn dieses Ereignis eintritt, stellen Sie die OnNoData-Eigenschaft auf den Namen des Makros bzw. auf [Ereignisprozedur] ein.

Ist der Bericht nicht an eine Tabelle oder Abfrage gebunden (über die RecordSource-Eigenschaft des Berichts), tritt das NoData-Ereignis nicht auf.

Dieses Ereignis tritt nach den Format-Ereignissen für den Bericht, aber vor dem ersten Print-Ereignis auf.

Für Unterberichte tritt dieses Ereignis nicht auf. Für den Fall, dass Sie Steuerelemente eines Unterberichts ausblenden möchten, wenn der Unterbericht keine Daten enthält, und Sie daher verhindern möchten, dass die Steuerelemente gedruckt werden, können Sie die HasData-Eigenschaft in einem Makro oder einer Ereignisprozedur verwenden, die ausgeführt wird, wenn das Ereignis Format oder Print auftritt.

Das NoData-Ereignis tritt vor dem ersten Page-Ereignis für den Bericht auf.

Beispiel

Das folgende Beispiel zeigt, wie Sie das Drucken eines Berichts unterbinden können, wenn dieser keine Daten enthält. Außerdem wird ein Meldungsfeld angezeigt, das den Benutzer über den Abbruch des Druckvorgangs informiert.

Zum Testen dieses Beispiels fügen Sie die nachstehende Ereignisprozedur zu einem Bericht hinzu. Versuchen Sie, den Bericht auszuführen, wenn er keine Daten enthält.

Private Sub Report_NoData(Cancel As Integer) 
    MsgBox "The report has no data." & _ 
         chr(13) & "Printing is canceled. " & _ 
         chr(13) & "Check the data source for the " & _ 
         chr(13) & "report. Make sure you entered " & _ 
         chr(13) & "the correct criteria (for " & _ 
         chr(13) & "example, a valid range of " & _ 
         chr(13) & "dates),." vbOKOnly + vbInformation 
    Cancel = True 
End Sub 

Im folgenden Beispiel wird gezeigt, wie sie das NoData-Ereignis eines Berichts verwenden, um zu verhindern, dass der Bericht geöffnet wird, wenn keine Daten angezeigt werden.

Private Sub Report_NoData(Cancel As Integer)

    'Add code here that will be executed if no data
    'was returned by the Report's RecordSource
    MsgBox "No customers ordered this product this month. " & _
        "The report will now close."
    Cancel = True

End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.