Abbrechen des Druckvorgangs eines Berichts, der keine Datensätze enthält

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

Was möchten Sie tun?

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, kann es einen Zeitraum sein, in dem Sie noch keine Umsätze registrieren müssen. Berücksichtigen Sie daher die Möglichkeit, dass einige Ihrer Berichte möglicherweise keine Detaildatensätze enthalten und dass Aggregatfunktionen, z. B. die Funktion Anzahl, möglicherweise nichts zu zählen haben. Um ein solches Vorkommen anmutig zu behandeln, können Sie ein Makro erstellen, mit dem der Druckauftrag abgebrochen wird. Sie können auch ein paar Zeilen sorgfältig platzierten VBA-Codes hinzufügen, um dasselbe zu tun. VBA ist die Programmiersprache, die Access verwendet.

Sie fügen entweder das Makro oder den VBA-Code zur Ereignisprozedur Bei Keine Datades Berichts hinzu. Access löst das Ereignis Bei keine Daten aus, wenn Sie einen Bericht ausführen, der keine Datensätze enthält. Das Makro und der in diesem Artikel beschriebene VBA-Code zeigen eine entsprechende Meldung an und brechen das Drucken des Berichts ab, wenn dieser Bericht keine Daten enthält. Wenn Sie der Ereignisprozedur Bei keine Daten ein Makro oder einen VBA-Code hinzufügen, wird das Makro oder der VBA-Code immer ausgeführt, wenn Sie einen Bericht öffnen, der keine Datensätze enthält. Wenn Sie auf OK klicken, um eine der Benachrichtigungen 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 Berichts- oder Layoutansicht zu zeigen. Sie können den Bericht aber in der Entwurfsansicht öffnen.

Verwenden eines Makros zum Abbrechen des Drucks

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, wird der Druckvorgang automatisch vom Makro abgebrochen. Wenn Sie keine Benachrichtigung enthalten, wird es so angezeigt, als ob beim Versuch, den Bericht zu drucken, nichts geschieht – was 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 dann auf Entwurfsansicht.

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

    – oder –

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

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

    Das Dialogfeld Generator auswählen wird angezeigt.

  4. Klicken Sie auf Makro-Generatorund dann auf OK.

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

  5. Wählen Sie in der Dropdownliste der Makroaktionen im Makroentwurfsfenster die Option MessageBox aus der Liste aus.

  6. geben Sie im Feld Nachricht den Text für Ihre Benachrichtigung 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 ihrer Benachrichtigung angezeigt werden soll.

  8. Geben Sie im Feld Titel den Titel für Ihre Benachrichtigung ein.

    Sie könnten z. B. Keine Datensätze eingeben.

  9. Wählen Sie die Dropdownliste der Makroaktionen unterhalb der MessageBox-Aktion und dann CancelEvent 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 Benachrichtigung angezeigt wird und Sie gefragt werden, 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. Je nach den von Ihnen gewählten Optionen zeigt Access eine Benachrichtigung an.

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

Seitenanfang

Verwenden von VBA-Code zum Abbrechen des Drucks

Der hier beschriebene VBA-Code funktioniert ähnlich wie das im vorherigen Abschnitt beschriebene Makro: Beim Öffnen eines leeren Berichts wird eine Benachrichtigung angezeigt, und der Druckvorgang wird abgebrochen, wenn Sie die Benachrichtigung 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 dann auf Entwurfsansicht.

    Hinweis: Verwenden Sie zum Abschließen 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 auf das Feld in der oberen linken oder rechten Ecke des Berichts, je nach Ihren Regionalen und Spracheinstellungen.

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

    Das Dialogfeld Generator auswählen wird angezeigt.

  4. Klicken Sie auf Code-Generatorund 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 das Report_NoData-Verfahren wie folgt angezeigt wird, 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 klicken Sie dann auf Speichern.

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

  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 dann auf Drucken. Je nach den von Ihnen gewählten Optionen zeigt Access eine Benachrichtigung an.

Im Report_NoData-Verfahren wird die MsgBox-Funktion verwendet, um die Schaltfläche Es gibt keine Datensätze zum Melden von Nachrichten und eine Schaltfläche OK. Wenn Sie auf OKklicken, wird Access in der Zeile "Cancel=True" im Verfahren angewiesen, den Bericht absagen zu lassen. Abbrechen 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?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Office Insider werden

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×