Verwenden von Parametern in Abfragen, Formularen und Berichten

Wenn bei einer Abfrage in Access bei jedem Ausführen eine Eingabeaufforderung erfolgen soll, können Sie eine Parameterabfrage erstellen.

Sie können auch ein Formular zum Sammeln von Parameterwerten erstellen, die zum Einschränken der für Abfragen, Formulare oder Berichte zurückgegebenen Datensätze verwendet werden. In diesem Artikel wird die Verwendung von Formularen in Access erläutert, um die Nutzung von Parametern in Abfragen, Formularen und Berichten zu verbessern.

Inhalt dieses Artikels

Übersicht

Verwenden von Parametern in Abfragen

Angeben von Parameterdatentypen

Erstellen eines Formulars zum Sammeln von Parametern

Erstellen eines Formulars zum Sammeln von Parametern für einen Bericht

Übersicht

Sie können Kriterien in einer Parameterabfrage in Access verwenden, um die Anzahl von Datensätzen einzuschränken, die von der Abfrage zurückgegeben werden. Möglicherweise stellen Sie fest, dass die von einer Parameterabfrage bereitgestellten Dialogfelder für Ihre Zwecke nicht ausreichen. In solchen Fällen können Sie ein Formular erstellen, das Ihren Anforderungen an eine Parametersammlung besser entspricht. In diesem Artikel wird erläutert, wie Sie ein Formular erstellen, in dem Abfrage- und Berichtsparameter gesammelt werden. In diesem Artikel wird davon ausgegangen, dass Sie mit dem Erstellen von Abfragen und dem Definieren von Parametern in Abfragen vertraut sind. Zumindest sollten Sie mit dem Erstellen einer Auswahlabfrage vertraut sein, bevor Sie fortfahren.

Dieser Artikel enthält Beispiele für die Verwendung von Parametern in Abfragen. Er stellt keine umfassende Referenz zur Angabe von Kriterien dar.

Verwenden von Parametern in Abfragen

Das Verwenden eines Parameters in einer Abfrage ist so einfach wie das Erstellen einer Abfrage, für die Kriterien verwendet werden. Sie können eine Abfrage so konzipieren, dass Sie zur Eingabe einer Information (z. B. eine Artikelnummer) oder mehrerer Informationen (z. B. zwei Datumsangaben) aufgefordert werden. Eine Parameterabfrage zeigt für jeden Parameter ein separates Dialogfeld an, in dem Sie zur Eingabe eines Werts für diesen Parameter aufgefordert werden.

Hinzufügen eines Parameters zu einer Abfrage

  1. Erstellen Sie eine Auswahlabfrage, und öffnen Sie die Abfrage dann in der Entwurfsansicht.

  2. Geben Sie in der Zeile Kriterien des Felds, auf das ein Parameter angewendet werden soll, den Text in eckigen Klammern ein, der im Parameterdialogfeld angezeigt werden soll, beispielsweise

    [Startdatum]

    Wenn Sie die Parameterabfrage ausführen, wird die Eingabeaufforderung in einem Dialogfeld ohne die eckigen Klammern angezeigt.

    Sie können auch einen Ausdruck mit Parameterabfragen verwenden, beispielsweise

    Zwischen [Startdatum] Und [Enddatum]

    Hinweis : Für jede Parametereingabeaufforderung wird ein separates Dialogfeld angezeigt. Im zweiten Beispiel werden zwei Dialogfelder angezeigt: eins für "Startdatum" und eins für "Enddatum".

  3. Wiederholen Sie Schritt 2 für jedes Feld, dem Parameter hinzugefügt werden sollen.

Mit den vorgenannten Schritten können Sie einen Parameter zu jedem der folgenden Abfragetypen hinzufügen: Auswahlabfrage, Kreuztabellenabfrage, Anfügeabfrage, Tabellenerstellungsabfrage oder Aktualisierungsabfrage.

Mit den folgenden Schritten können Sie auch einen Parameter zu einer Union-Abfrage hinzufügen:

  1. Öffnen Sie die Union-Abfrage in der SQL-Ansicht.

  2. Fügen Sie eine WHERE-Klausel hinzu, die jedes Feld enthält, in dem ein Parameter eingegeben werden soll.

    Wenn bereits eine WHERE-Klausel vorhanden ist, überprüfen Sie, ob die Felder, für die Sie eine Parametereingabeaufforderung verwenden möchten, bereits in der Klausel enthalten sind. Wenn dies nicht der Fall ist, fügen Sie sie hinzu.

  3. Anstelle eines Kriteriums in der WHERE-Klausel können Sie eine Parametereingabeaufforderung verwenden.

Angeben von Parameterdatentypen

Sie können auch angeben, welche Art von Daten ein Parameter akzeptieren soll. Sie können den Datentyp für jeden Parameter festlegen, besonders wichtig ist es jedoch, den Datentyp für numerische Daten, Währungsdaten oder Datums-/Uhrzeitdaten anzugeben. Wenn Sie den Datentyp angeben, den ein Parameter akzeptieren soll, wird den Benutzern eine hilfreiche Fehlermeldung angezeigt, falls sie einen falschen Datentyp eingeben (beispielsweise Eingabe von Text an einer Stelle, an der eine Währung erwartet wird).

Hinweis : Wenn der Parameter so konfiguriert ist, dass er Textdaten akzeptiert, wird jede Eingabe als Text interpretiert, und es wird keine Fehlermeldung angezeigt.

Führen Sie die folgenden Schritte aus, um den Datentyp für Parameter in einer Abfrage anzugeben:

  1. Klicken Sie bei geöffneter Abfrage in der Entwurfsansicht auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Parameter.

  2. Geben Sie im Dialogfeld Abfrageparameter in der Spalte Parameter die Eingabeaufforderung für die einzelnen Parameter ein, für die der Datentyp angegeben werden soll. Achten Sie darauf, dass jeder Parameter der in der Zeile Kriterien des Abfrageentwurfsbereichs verwendeten Eingabeaufforderung entspricht.

  3. Wählen Sie in der Spalte Datentyp den Datentyp für jeden Parameter aus.

Erstellen eines Formulars zum Sammeln von Parametern

Obwohl Parameterabfragen mit einem integrierten Dialogfeld versehen sind, in dem Parameter gesammelt werden, stellen sie nur Grundfunktionen bereit. Bei Verwendung eines Formulars zum Sammeln von Parametern profitieren Sie von folgenden Funktionen:

  • Die Möglichkeit, datentypspezifische Steuerelemente (z. B. Kalendersteuerelemente für Datumsangaben) zu verwenden.

  • Persistenz der gesammelten Parameter, sodass Sie diese für mehr als eine Abfrage verwenden können.

  • Die Möglichkeit, ein Listen- oder Kombinationsfeld für die Parametersammlung bereitzustellen, in dem eine Liste verfügbarer Datenwerte zur Auswahl steht.

  • Die Möglichkeit, Steuerelemente für andere Funktionen (z. B. Öffnen oder Aktualisieren einer Abfrage) bereitzustellen.

Im folgenden Video wird gezeigt, wie Sie anstelle der Dialogfelder, die normalerweise mit Parameterabfragen verbunden sind, ein einfaches Formular zum Sammeln von Parametern für eine Abfrage erstellen können.

Ihr Browser unterstützt kein Video. Installieren Sie Microsoft Silverlight, Adobe Flash Player oder Internet Explorer 9.

Erstellen eines Formulars zum Sammeln von Parametern für einen Bericht

Für dieses Szenario gibt es verschiedene Möglichkeiten. Gezeigt wird jedoch nur eine Methode, bei der überwiegend Makros verwendet werden. Führen Sie die folgenden Schritte aus, um ein Formular zum Sammeln von Parametern für einen Bericht zu erstellen.

Schritt 1: Erstellen eines Formulars, das Eingaben akzeptiert

Schritt 2: Erstellen eines Codemoduls zum Überprüfen, ob das Parameterformular bereits geladen ist

Schritt 3: Erstellen eines Makros, das Formular und Bericht steuert

Schritt 4: Hinzufügen der Befehlsschaltflächen "OK" und "Abbrechen" zum Formular

Schritt 5: Verwenden der Formulardaten als Abfragekriterien

Schritt 6: Hinzufügen der Makroaktionen zu den Berichtsereignissen

Schritt 7: Probieren Sie es aus

Schritt 1: Erstellen eines Formulars, das Eingaben akzeptiert

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Formulare auf Formularentwurf.

  2. Drücken Sie in der Entwurfsansicht F4, um das Eigenschaftsblatt anzuzeigen, und geben Sie dann die Formulareigenschaften an, wie in der folgenden Tabelle dargestellt.

    Eigenschaft

    Einstellung

    Beschriftung

    Geben Sie den Namen ein, der in der Titelleiste des Formulars angezeigt werden soll.

    Standardansicht

    Einzelnes Formular

    Formularansicht zulassen

    Ja

    Datenblattansicht zulassen

    Nein

    PivotTable-Ansicht zulassen

    Nein

    PivotChart-Ansicht zulassen

    Nein

    Bildlaufleisten

    Weder noch

    Datensatzmarkierer

    Nein

    Navigationsschaltflächen

    Nein

    Rahmenart

    Dialogfeld

  3. Für jeden Parameter, den das Formular sammeln soll, klicken Sie auf der Registerkarte Entwurf in der Gruppe Steuerelemente auf Textfeld.

  4. Legen Sie die Eigenschaften für die Textfelder fest, wie in der folgenden Tabelle dargestellt.

    Eigenschaft

    Einstellung

    Name

    Geben Sie einen aussagekräftigen Namen für den Parameter ein, z. B. Startdatum.

    Format

    Wählen Sie ein Format aus, das den Datentyp des Parameterfelds wiedergibt. Wählen Sie z. B. Standarddatum für ein Datumsfeld aus.

  5. Speichern Sie das Formular, und geben sie einen Namen ein, z. B. FrmCriteria.

Schritt 2: Erstellen eines Codemoduls zum Überprüfen, ob das Parameterformular bereits geladen ist

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Modul. Hinweis: Wenn Sie Access 2007 verwenden, klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Modul.

    Ein neues Modul wird im Visual Basic-Editor geöffnet.

  2. Geben Sie den folgenden Code in den Visual Basic-Editor ein, oder kopieren Sie ihn und fügen ihn ein:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
    If oAccessObject.CurrentView <> acCurViewDesign Then
    IsLoaded = True
    End If
    End If
    End Function
  3. Speichern Sie das Modul unter einem eindeutigen Namen, und schließen Sie dann den Visual Basic-Editor.

Schritt 3: Erstellen eines Makros, das Formular und Bericht steuert

Mit den Untermakro-Features von Access-Makros können Sie alle erforderlichen Schritte definieren, die in einem einzelnen Makro ausgeführt werden müssen. Zum Steuern der verschiedenen Aufgaben, die für diesen Vorgang erforderlich sind, erstellen Sie vier Untermakros ("Dialogfeld öffnen", "Dialogfeld schließen", "OK" und "Abbrechen"). Verwenden Sie den folgenden Screenshot als Leitfaden, und erstellen Sie ein neues Makro mit den folgenden Untermakros und Aktionen. Beachten Sie, dass das Parameterformular in diesem Beispiel den Namen "FrmCriteria" hat. Passen Sie das Makro so an, dass es dem Namen des Formulars entspricht, das Sie zuvor erstellt haben. Um sicher sein zu können, klicken Sie auf der Registerkarte Entwurf auf Alle Aktionen anzeigen, um alle Makroaktionen anzuzeigen.

Screenshot eines Access-Makros mit vier Untermakros und Aktionen.

Speichern und schließen Sie das Makro. Benennen Sie das Makro, z. B. Makro Datumsbereich.

Schritt 4: Hinzufügen der Befehlsschaltflächen "OK" und "Abbrechen" zum Formular

  1. Öffnen Sie erneut das Parameterformular, das Sie zuvor in der Entwurfsansicht erstellt haben.

  2. Vergewissern Sie sich, dass auf der Registerkarte Entwurf in der Gruppe Steuerelemente der Eintrag Steuerelement-Assistenten verwenden deaktiviert ist.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Steuerelemente auf Schaltfläche.

  4. Positionieren Sie den Mauszeiger unter den Textfeldern auf dem Formular, und ziehen Sie dann die Maus, um die Befehlschaltfläche OK zu erstellen.

  5. Wenn das Eigenschaftsblatt nicht sichtbar ist, drücken Sie F4, um es anzuzeigen.

  6. Legen Sie die Eigenschaften der Schaltfläche OK fest, wie in der folgenden Tabelle dargestellt.

    Eigenschaft

    Einstellung

    Name

    OK

    Untertitel

    OK

    Standard

    Ja

    OnClick

    Geben Sie den Namen des Makros ein, z. B. Makro Datumsbereich.OK.

  7. Erstellen Sie eine Befehlsschaltfläche Abbrechen, und legen Sie die entsprechenden Eigenschaften fest, wie in der folgenden Tabelle dargestellt.

    Eigenschaft

    Einstellung

    Name

    Abbrechen

    Untertitel

    Abbrechen

    OnClick

    Geben Sie den Namen des Makros ein, z. B. Makro Datumsbereich.Abbrechen.

  8. Speichern und schließen Sie das Formular.

Schritt 5: Verwenden der Formulardaten als Abfragekriterien

  1. Öffnen Sie die Abfrage, die Sie zuvor in der Entwurfsansicht erstellt haben.

  2. Geben Sie die Kriterien für die Daten ein. Verwenden Sie das Objekt Formulare, den Namen des Formulars und den Namen des Steuerelements:

    • Verwenden Sie z. B. in einer Access-Datenbank (ACCDB oder MDB) für ein Formular mit dem Namen "FrmCriteria" den folgenden Ausdruck, um auf Steuerelemente mit dem Namen "Startdatum" und "Enddatum" in der Abfrage zu verweisen:

      Zwischen [Formulare]![FrmCriteria]![Startdatum] Und [Formulare]![FrmCriteria]![Enddatum]

Schritt 6: Hinzufügen der Makroaktionen zu den Berichtsereignissen

  1. Öffnen Sie den Bericht, den Sie in der Entwurfsansicht verwenden möchten.

  2. Wenn das Eigenschaftsblatt nicht sichtbar ist, drücken Sie F4, um es anzuzeigen.

  3. Stellen Sie sicher, dass für die Eigenschaft Datensatzquelle des Berichts die zuvor definierte Parameterabfrage verwendet wird.

  4. Legen Sie diese beiden zusätzlichen Berichtseigenschaften fest, wie in der folgenden Tabelle dargestellt.

    Eigenschaft

    Einstellung

    OnOpen

    Geben Sie den Namen des Makros ein, z. B. Makro Datumsbereich.Dialogfeld öffnen.

    OnClose

    Geben Sie den Namen des Makros ein, z. B. Makro Datumsbereich.Dialogfeld schließen.

    Im Open-Ereignis des Berichts wird Access die im Untermakro "Dialogfeld öffnen" des Objekts "Makro Datumsbereich" definierten Aktionen ausführen. Vergleichbar wird Access beim Schließen des Berichts die im Untermakro "Dialogfeld schließen" des Objekts "Makro Datumsbereich" definierten Aktionen ausführen.

  5. Speichern und schließen Sie den Bericht.

Schritt 7: Probieren Sie es aus

Nachdem Sie nun alle Access-Objekte erstellt haben, wird es Zeit, sie auszuprobieren. Öffnen Sie den Bericht in der Berichtsansicht oder Seitenansicht und beachten Sie, dass Ihr Parameterformular im Dialogmodus geöffnet wird, bevor Access den Bericht anzeigt. Geben Sie die erforderlichen Kriterien in die zuvor erstellten Textfelder ein, und klicken Sie dann im Formular auf die Befehlsschaltfläche OK. Access blendet dann das Formular aus (Sichtbar = Nein) und öffnet den Bericht nur mit den Daten, die den Kriterien entsprechen. Dies funktioniert, da die Parameterabfrage, auf welcher der Bericht basiert, die Werte in den Steuerelementen im ausgeblendeten Formular lesen kann. Wenn Sie den Bericht schließen, schließt Access auch das Parameterformular.

Seitenanfang

Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

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.

×