Microsoft Office Online
Für Mein Office Online (Was ist das?) registrieren | Anmelden

 
 
Microsoft Office Access
Suchen
Suchen
 
 
 
 
Warnung: Sie haben diese Webseite mit einem nicht unterstützten Browser geöffnet. Diese Webseite wird am besten angezeigt, wenn Sie Microsoft Internet Explorer 6.0 oder höher, Firefox 1.5 oder Netscape Navigator 6.0 oder höher verwenden. Hier finden Sie weitere Informationen über unterstützte Browser.

DruckversionDruckversion Lesezeichen und FreigabeFreigabe
Abbrechen des Druckvorgangs eines Berichts, der keine Datensätze enthält
 

Sie können standardmäßig Berichte drucken, die keine Datensätze enthalten. Um dieses Problem zu beheben, können Sie ein Makro oder einen Code für Microsoft Visual Basic für Applikationen verwenden. Damit können Sie erkennen, ob ein Bericht tatsächlich keine Datensätze enthält und den Druckvorgang dann abbrechen. In den in diesem Artikel beschriebenen Schritten wird die Verwendung beider Methoden erläutert.

Was möchten Sie tun?


Wenn ein Bericht keine Datensätze enthält, möchten Sie den Druckvorgang wahrscheinlich abbrechen. Wenn Sie z. B. ein neues Produkt verkaufen, gibt es wahrscheinlich einen Zeitraum, innerhalb dessen Sie die Verkäufe registrieren müssen. Deshalb sollten Sie die Möglichkeit in Betracht ziehen, dass einige Ihrer Berichte eventuell keine Detaildatensätze enthalten und dass Aggregatfunktionen, wie z. B. die Count-Funktion, nichts zu zählen haben. Wenn Sie ein derartiges Vorkommnis ordnungsgemäß handhaben möchten, können Sie ein Makro erstellen, mit dem der Druckauftrag abgebrochen wird. Sie können auch einige Zeilen vorsichtig platzierten VBA-Codes hinzufügen, wodurch derselbe Zweck erfüllt wird. VBA ist die Programmiersprache, die von Microsoft Office Access 2007 verwendet wird.

Sie fügen entweder das Makro oder den VBA-Code zur Bei Ohne Daten-Ereignisprozedur hinzu. In Office Access 2007 wird das Bei Ohne Daten-Ereignis immer dann ausgelöst, wenn Sie einen Bericht ausführen, der keine Datensätze enthält. Bei dem in diesem Artikel beschriebenen Makro und VBA-Code wird eine entsprechende Meldung angezeigt und der Druckvorgang des Berichts abgebrochen, sofern dieser Bericht keine Daten enthält. Wenn Sie der Bei Ohne Daten-Ereignisprozedur ein Makro oder VBA-Code hinzufügen, wird der VBA-Code immer ausgeführt, wenn Sie einen Bericht öffnen, der keine Datensätze enthält. Wenn Sie zum Schließen der Warnmeldungen auf OK klicken, wird mit dem Makro auch der leere Bericht geschlossen. Wenn Sie dem Bericht entweder das Makro oder den VBA-Code hinzufügen, kann ein leerer Bericht nicht geöffnet werden, wenn Sie versuchen, ihn in der Berichts- oder in der Layoutansicht anzuzeigen. Sie können den Bericht aber in der Entwurfsansicht öffnen.

Verwenden eines Makros zum Abbrechen des Druckvorgangs

Bei dem in diesem Abschnitt beschriebenen Makro wird eine Warnmeldung angezeigt, wenn Sie versuchen, einen leeren Bericht zu drucken. Wenn Sie zum Schließen des Meldungsfensters auf OK klicken, wird mit dem Makro automatisch der Druckvorgang abgebrochen. Wenn Sie keine Warnmeldung einschließen, sieht es so aus, als ob nichts passiert, wenn Sie versuchen, den Bericht zu drucken. Dies wird die Benutzer des Berichts wahrscheinlich verwirren.

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 Extras auf Eigenschaftenblatt.

    -Oder-

    Doppelklicken Sie je nach den Regions- 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 Ohne Daten auf Schaltflächensymbol.

    Das Dialogfeld Generator auswählen wird aufgerufen.

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

    Der Makro-Designer wird gestartet, und ein leeres Makro wird angezeigt.

  5. Klicken Sie in der ersten Zeile des Makros auf das Feld in der Spalte Aktion, und wählen Sie Meldung aus der Liste aus.
  6. Geben Sie unter Aktionsargumente im unteren Abschnitt des Makro-Designers im Feld Meldung den Text für Ihre Warnmeldung ein.

    So könnten Sie z. B. Folgendes eingeben: Es sind keine Datensätze für einen Bericht vorhanden.

  7. Wahlweise können Sie den Argumentwert im Feld Signalton von Ja in Nein ändern und in der Liste Typ den Symboltyp auswählen, der in der Warnmeldung angezeigt werden soll.
  8. Geben Sie im Feld Titel den Titel für Ihre Warnmeldung ein.

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

    Die Änderungen werden im unteren Abschnitt des Makro-Designers angezeigt: In der Spalte Argument neben der Meldung-Aktion.

  9. Klicken Sie im oberen Teil des Makro-Designers auf die nächste Zelle in der Spalte Aktion (die Spalte direkt unter Meldung), und wählen Sie dann AbbrechenEreignis aus.

    Das Makro sollte wie folgt aussehen, obwohl Sie in den Argumenten anderen Text verwenden können:

    Beispielmakro, mit dem der Druckvorgang abgebrochen wird

  10. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Schließen auf Objekt speichern als, und verwenden Sie dann das Dialogfeld Speichern unter, um dem Makro einen Namen zuzuweisen.
  11. Schließen Sie das Makro. Falls eine Warnmeldung angezeigt wird und Sie gefragt werden, ob Sie die Makro- und Berichteigenschaftsänderungen speichern möchten, klicken Sie auf Ja und fahren mit dem nächsten Schritt fort, um einen Test auszuführen.

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 ausgewählten Optionen sollte eine Warnmeldung, ähnlich der folgenden, angezeigt werden:

    Meldung, die angezeigt wird, wenn der Bericht keine Datensätze enthält

    Wenn Sie auf OK klicken, um die Meldung zu schließen, wird der Druckvorgang mit der AbbrechenEreignis-Aktion abgebrochen. Da Sie kein anderes Ereignis angegeben haben (wie das Öffnen des Berichts zur Ansicht), wird der Bericht geschlossen.

Seitenanfang Seitenanfang

Verwenden von VBA-Code zum Abbrechen des Druckvorgangs

Der hier beschriebene VBA-Code funktioniert ähnlich wie das im vorherigen Abschnitt beschriebene Makro. Es wird eine Warnmeldung angezeigt, wenn Sie einen leeren Bericht öffnen. Der Druckvorgang wird 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.
  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Extras auf Eigenschaftenblatt.

    -Oder-

    Doppelklicken Sie je nach den Regions- 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 Ohne Daten auf Schaltflächensymbol.

    Das Dialogfeld Generator auswählen wird angezeigt.

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

    Der Visual Basic-Editor wird aufgerufen, und es wird eine leere Ereignisprozedur angezeigt.

  5. Geben Sie folgenden Code im Visual Basic-Editor so ein, dass die Report_NoData-Prozedur genau wie folgt angezeigt wird:

    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 im Menü Datei auf Speichern und dann auf Ja, um den Speichervorgang zu bestätigen. Klicken Sie dann im Menü Datei auf Schließen und zurück zu Microsoft Office Access. Schließen Sie anschließend den Visual Basic-Editor, und schließen Sie dann den Bericht.
  7. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf den Bericht, den Sie gerade geändert haben, und klicken Sie auf Drucken. Es wird eine Meldung wie die folgende angezeigt:

Meldungsfeld, das angezeigt wird, wenn der Bericht keine Datensätze enthält

Die Report_NoData-Prozedur verwendet die Meldung-Funktion, um die Meldung Es sind keine Datensätze für einen Bericht vorhanden und die Schaltfläche OK anzuzeigen. Wenn Sie auf OK klicken, wird Access anhand der "Cancel=True"-Zeile in der Prozedur angewiesen, den Bericht abzubrechen. Abbrechen ist ein Argument, das automatisch an die Berichtprozedur übergeben wird und immer von Access geprüft wird, wenn die Ereignisprozedur abgeschlossen ist.

Seitenanfang Seitenanfang

Anzeige