Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Standardmäßig können Sie Berichte drucken, die keine Datensätze enthalten. Um dieses Problem zu beheben, können Sie entweder ein Makro oder VBA-Code (Microsoft Visual Basic for Applications) verwenden, um das Fehlen von Datensätzen in einem Bericht zu erkennen und dann den Druckvorgang abzubrechen. In den Schritten in diesem Artikel wird erläutert, wie beide Techniken verwendet werden.

Inhalt dieses Artikels

Wahrscheinlich möchten Sie das Drucken eines Berichts abbrechen, wenn er keine Datensätze enthält. Wenn Sie beispielsweise damit beginnen, ein neues Produkt zu verkaufen, gibt es wahrscheinlich einen Zeitraum, in dem Sie noch keine Verkäufe registriert haben. Sie sollten daher die Möglichkeit in Betracht ziehen, dass einige Ihrer Berichte möglicherweise keine Detaildatensätze enthalten und dass Aggregatfunktionen wie die Count-Funktion möglicherweise nichts zu zählen haben. Um ein solches Vorkommen ordnungsgemäß zu behandeln, können Sie ein Makro erstellen, das den Druckauftrag abbricht. Sie können auch ein paar Zeilen sorgfältig platzierten VBA-Code hinzufügen, um dasselbe zu tun. VBA ist die Programmiersprache, die Access verwendet.

Sie fügen entweder das Makro oder den VBA-Code zur On No Data-Ereignisprozedur des Berichts hinzu. Access löst das On No Data-Ereignis aus, wenn Sie einen Bericht ohne Datensätze ausführen. Das in diesem Artikel beschriebene Makro und der VBA-Code zeigen eine entsprechende Meldung an und brechen den Druck des Berichts ab, wenn dieser Bericht keine Daten enthält. Wenn Sie der Ereignisprozedur On No Data ein Makro oder VBA-Code hinzufügen, wird das Makro oder der VBA-Code immer dann ausgeführt, wenn Sie einen Bericht öffnen, der keine Datensätze enthält. Wenn Sie auf OK klicken, um eine der Warnmeldungen zu schließen, schließt das Makro auch den leeren Bericht. Wenn Sie dem Bericht entweder das Makro oder den VBA-Code hinzufügen, wird kein leerer Bericht geöffnet, wenn Sie versuchen, ihn in der Berichtsansicht oder Layoutansicht anzuzeigen. Sie können den Bericht jedoch in der Entwurfsansicht öffnen.

Verwenden eines Makros zum Abbrechen des Druckens

Das in diesem Abschnitt beschriebene Makro zeigt eine Warnmeldung an, wenn Sie versuchen, einen leeren Bericht zu drucken. Wenn Sie auf OK klicken, um das Meldungsfeld zu schließen, bricht das Makro den Druckvorgang automatisch ab. Wenn Sie keine Warnmeldung einschließen, wird es so aussehen, als ob beim Versuch, den Bericht zu drucken, nichts geschieht – etwas, das die Benutzer des Berichts wahrscheinlich verwirren wird.

Erstellen des Makros

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Bericht, den Sie ändern möchten, und klicken Sie auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Eigenschaftenblatt.

    – oder –

    Doppelklicken Sie je nach Region und Spracheinstellungen auf das Feld in der oberen linken oder rechten Ecke des Berichts.

  3. Klicken Sie auf die Registerkarte Ereignis , und klicken Sie im Eigenschaftenfeld Bei keine Daten auf Schaltfläche "Generator".

    Das Dialogfeld Generator auswählen wird angezeigt.

  4. Klicken Sie auf Makro-Generator, und klicken Sie dann auf OK.

    Der Makro-Designer startet und zeigt ein leeres Makro an.

  5. Wählen Sie in der Dropdownliste der Makroaktionen im Makroentwurfsfenster messageBox aus der Liste aus.

  6. Geben Sie im Feld Nachricht den Text für Ihre Warnmeldung ein.

    Sie können beispielsweise Folgendes eingeben: Es sind keine Datensätze zu melden.

  7. Ändern Sie optional den Argumentwert im Feld Signalton von Ja in Nein , und wählen Sie in der Liste Typ den Symboltyp aus, der in der Warnmeldung angezeigt werden soll.

  8. Geben Sie im Feld Titel den Titel ihrer Warnmeldung ein.

    Sie können beispielsweise Keine Datensätze eingeben.

  9. Wählen Sie die Dropdownliste der Makroaktionen unterhalb der MessageBox-Aktion aus, und wählen Sie dann AbbrechenEreignis aus.

  10. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Schließen auf Speichern.

  11. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Schließen auf Schließen. Wenn eine Warnmeldung angezeigt wird und Sie gefragt wird, ob Sie Änderungen am Makro und der Berichtseigenschaft speichern möchten, klicken Sie auf Ja, schließen Sie den Bericht, speichern Sie die Änderungen, wenn Sie dazu aufgefordert werden, und fahren Sie mit den nächsten Schritten zum Testen fort.

Testen des Makros

  • Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Bericht, der das Makro enthält, und klicken Sie auf Drucken. Abhängig von den ausgewählten Optionen zeigt Access eine Warnmeldung an.

    Wenn Sie auf OK klicken, um die Nachricht zu schließen, beendet die CancelEvent-Aktion den Druckvorgang. Da Sie kein anderes Ereignis angegeben haben (z. B. das Öffnen des Berichts zur Anzeige), wird der Bericht geschlossen.

Seitenanfang

Verwenden von VBA-Code zum Abbrechen des Druckens

Der hier beschriebene VBA-Code funktioniert ähnlich wie das im vorherigen Abschnitt beschriebene Makro. Er zeigt eine Warnmeldung an, wenn Sie einen leeren Bericht öffnen, und dann wird der Druckvorgang abgebrochen, wenn Sie die Warnmeldung schließen.

Hinzufügen von VBA-Code

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Bericht, den Sie ändern möchten, und klicken Sie auf Entwurfsansicht.

    Hinweis: Verwenden Sie zum Ausführen dieses Verfahrens einen Bericht, der keine Datensätze enthält.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Eigenschaftenblatt.

    – oder –

    Doppelklicken Sie je nach Region und Spracheinstellungen auf das Feld in der oberen linken oder rechten Ecke des Berichts.

  3. Klicken Sie auf die Registerkarte Ereignis , und klicken Sie im Eigenschaftenfeld Bei keine Daten auf Schaltfläche "Generator".

    Das Dialogfeld Generator auswählen wird angezeigt.

  4. Klicken Sie auf Code-Generator, und klicken Sie dann auf OK.

    Der Visual Basic-Editor wird gestartet und zeigt eine leere Ereignisprozedur an.

  5. Geben Sie den folgenden Code in den Visual Basic-Editor ein, damit die Report_NoData-Prozedur genau wie folgt aussieht, wenn Sie fertig sind:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Wenn Sie fertig sind, klicken Sie auf Datei und dann auf Speichern.

  7. Klicken Sie auf Datei und dann auf Schließen und zurück zu Microsoft Access.

  8. Schließen Sie den geöffneten Bericht, und klicken Sie dann auf Ja , um das Speichern zu bestätigen.

  9. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Bericht, den Sie gerade geändert haben, und klicken Sie auf Drucken. Abhängig von den ausgewählten Optionen zeigt Access eine Warnmeldung an.

Die Report_NoData-Prozedur verwendet die MsgBox-Funktion , um die Meldung Es sind keine Datensätze zu melden , und eine Schaltfläche OK anzuzeigen. Wenn Sie auf OK klicken, weist die Zeile "Cancel=True" in der Prozedur Access an, den Bericht abzubrechen. Cancel ist ein Argument, das automatisch an die Ereignisprozedur übergeben wird und immer von Access überprüft wird, wenn die Ereignisprozedur abgeschlossen ist.

Seitenanfang

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×