Variabler Zeitraum als Filter für Access-Berichte

Beim Druck von Berichten in Access sollen die Datensätze oft nach einem variablen Zeitraum gefiltert werden. Wenn Sie in der Datenbasis des Berichts das entsprechende Datumsfeld berücksichtigt haben, können Sie vor dem Öffnen des Berichts den Zeitraum über eine sogenannte Parameterabfrage angeben.

Im folgenden Beispiel soll eine Abfrage erstellt werden, die alle Verkaufsvorgänge für einen bestimmten Zeitraum auflistet. Diese Abfrage soll als Datenbasis für einen Verkaufsbericht dienen. Die Abfrage sieht zunächst folgendermaßen aus:

Access-Abfrage

Da für das Feld VkDatum (Verkaufsdatum) keine Kriterien angegeben wurden, werden alle Datensätze, sortiert nach dem Verkaufsdatum, dem Kunden und dem Artikel angezeigt. Um z.B. nur die Verkaufsvorgänge vom 01.01.2013 bis zum 28.02.2013 anzuzeigen, können Sie in der Spalte VkDatum in der Zeile Kriterien folgenden Filterausdruck eintragen:

Zwischen #01.01.2013# und #28.02.2013#

Access-Abfrage für Zeitraum

Wenn Sie diese Abfrage speichern und als Datenbasis für Ihren Bericht verwenden, werden im Bericht nur die Verkaufsvorgänge der ersten beiden Monate des Jahres 2013 angezeigt. Wenn Sie die Verkaufsvorgänge für einen anderen Zeitraum sehen möchten, müssen Sie entweder eine neue Abfrage mit einem entsprechenden Filterkriterium anlegen oder die bisherige Abfrage ändern. Beide Vorgehensweisen sind umständlich und wenig effektiv.

Um den Zeitraum vor der Anzeige der Daten variabel angeben zu können, können Sie eine sogenannte Parameterabfrage erstellen. Gehen Sie dazu folgendermaßen vor:

    1. Geben Sie als Filterkriterium in der Spalte VkDatum z.B. den folgenden Ausdruck ein: Zwischen [von Datum] Und [bis Datum]

      Access-Abfrage für Zeitraum

      Die Texte in den eckigen Klammern können Sie frei wählen und gelten als Parameter für diese Abfrage. Sie sollten nur keinen Feldnamen aus einer der in der Abfrage verwendeten Tabellen verwenden.

    2. Klicken Sie auf der Registerkarte Entwurf der Abfragetools in der Gruppe Einblenden/Ausblenden auf die Schaltfläche Parameter. Es erscheint das folgende Dialogbild:

      Access-Abfrageparameter

    3. Tragen Sie bitte für die beiden von Ihnen angegebenen Parameter den Felddatentyp Datum/Uhrzeit ein. Das Dialogbild sieht dann folgendermaßen aus:

      Access-Abfrageparameter

    4. Klicken Sie auf die Schaltfläche OK.
    5. Klicken Sie im Menüband auf der Registerkarte Entwurf der Abfragetools in der Gruppe Ergebnisse auf die Schaltfläche Ausführen. Der erste Parameter wird abgefragt:

      Access-Abfrageparameter

    6. Geben Sie ein gültiges Datum als Beginn des gewünschten Zeitraums ein. Die Bezeichnung über dem Textfeld ist der Ausdruck, den Sie in der Abfrage in den ersten eckigen Klammern eingegeben haben.
    7. Klicken Sie auf OK. Danach erscheint ein weiteres Dialogbild zur Angabe des Endes des gewünschten Zeitraums:

      Access-Abfrageparameter

    8. Klicken Sie auf OK. Es werden alle Verkaufsvorgänge des angegebenen Zeitraums angezeigt.
    9. Speichern Sie die Abfrage und entwerfen Sie einen Bericht, der diese Abfrage als Datenbasis verwendet. Bei jedem Aufruf des Berichts wird vorher der Zeitraum abgefragt.

Hinweise

    • Sie werden von Access aufgefordert, einen Parameterwert einzugeben, da Access die Einträge in den eckigen Klammern als Feldnamen interpretiert und diese in der der Abfrage zugrunde liegenden Tabelle oder Tabellen nicht findet.
    • Wenn Sie als Parameterwert kein gültiges Datum eingeben, erscheint eine Fehlermeldung, dass der eingegebene Wert für den Feldtyp nicht zulässig ist.
    • Wenn Sie aufgefordert werden, den zweiten Parameterwert einzugeben, haben Sie keine Möglichkeit, den ersten Parameter nachträglich einzusehen oder zu ändern.
    • Sie können Datumsangaben für das aktuelle Jahr abkürzen, indem z. B. 1,1 als Parameterwert für den 01.01.2013 eingeben, wenn 2013 das aktuelle Jahr ist.
    • Falls Sie einen der Ausdrücke in den eckigen Klammern ändern, müssen Sie im Dialogbild Abfrageparameter Ihre Einträge ebenfalls anpassen. Eine automatische Synchronisation findet nicht statt.
Michael Richter

Michael Richter

Autor

Ich unterstütze unsere Kunden in erster Linie durch Programmierung von Datenbankanwendungen und Zusatzmodulen von Microsoft Office. In Seminaren und Tipps auf unserer Blogseite gebe ich mein Wissen weiter.

8 Kommentare

  1. Anonymous

    Zeitersparnis und weniger Stress beim Suchen 🙂

    Antworten
  2. Anonymous

    Sehr informativ, leicht und schnell verständlich.

    Antworten
  3. Anonymous

    Eine selten klare und verständliche Erklärung. Schade, dass es Microsoft nicht schafft, vergleichbares zu leisten. Danke!

    Antworten
  4. Anonymous

    Danke!

    Antworten
  5. Anonymous

    Genau was ich suchte. Danke!

    Antworten
  6. Anonymous

    Hammer! Genau das, was ich gesucht habe!!! Auf jeden Fall habe ich jede Menge Zeit dadurch gespart. Vielen Dank.

    Antworten
  7. Achim

    Super Sache, allerdings wird mir bei Zwischen [von Monat] Und [bis Monat] hier von mir sollten die Monate 1-4 gefiltert werden, angezeigt wird aber auch der Monat 10. Gibt es hier eine Idee Ihrerseits?

    Danke

    Antworten
    • Michael Richter

      Hallo,

      möglicherweise wird bei Ihnen der erste Parameter [von Monat] mit dem Wert 1 für den Monat Januar als Text- und nicht als Zahlenwert interpretiert. Ermitteln Sie den Monat aus dem Datumsfeld mit der Funktion Monat und deklarieren Sie den Parameter mit dem Felddatentyp Integer.

      Antworten

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Pin It on Pinterest

Share This