Monday, February 13, 2023

Verwenden von Parametern in Abfragen, Formularen und Berichten – Microsoft Support

Wenn Sie möchten, dass eine Abfrage in Access bei jeder Ausführung nach Eingaben fragt, können Sie eine Parameterabfrage erstellen.

Sie können auch ein Formular erstellen, um Parameterwerte zu sammeln, die verwendet werden, um die Datensätze einzuschränken, die für Abfragen, Formulare oder Berichte zurückgegeben werden. In diesem Artikel wird erläutert, wie Sie Formulare verwenden, um die Verwendung von Parametern in Abfragen, Formularen und Berichten zu verbessern.

In diesem Artikel

Überblick

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

Dieser Artikel enthält Beispiele für die Verwendung von Parametern in Abfragen. Es bietet keine umfassende Referenz für die Festlegung von Kriterien.

Verwenden Sie Parameter in Abfragen

Die Verwendung eines Parameters in einer Abfrage ist so einfach wie das Erstellen einer Abfrage, die Kriterien verwendet. Sie können eine Abfrage so gestalten, dass Sie zur Eingabe einer Information aufgefordert werden, z. B. einer Teilenummer, oder mehrerer Informationen, z. B. zwei Datumsangaben. Für jeden Parameter zeigt eine Parameterabfrage ein separates Dialogfeld an, das Sie zur Eingabe eines Werts für diesen Parameter auffordert.

Fügen Sie einer Abfrage einen Parameter hinzu

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

  2. Geben Sie in der Zeile Kriterien eines Felds, auf das Sie einen Parameter anwenden möchten, den Text ein, den das Parameterdialogfeld anzeigen soll, eingeschlossen in eckige Klammern, zum Beispiel:

    [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 Ihren Parametereingabeaufforderungen verwenden, zum Beispiel:

    Zwischen [Startdatum] und [Enddatum]

    Hinweis: Für jede Parameteraufforderung wird ein separates Dialogfeld angezeigt. Im zweiten Beispiel werden zwei Dialogfelder angezeigt: eines für das Startdatum und eines für das Enddatum.

  3. Wiederholen Sie Schritt 2 für jedes Feld, dem Sie Parameter hinzufügen möchten.

Sie können die vorherigen Schritte verwenden, um einen Parameter zu einem der folgenden Abfragetypen hinzuzufügen: Auswählen, Kreuztabelle, Anhängen, Tabellenerstellung oder Aktualisieren.

Sie können einer Union-Abfrage auch einen Parameter hinzufügen, indem Sie die folgenden Schritte ausführen:

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

  2. Fügen Sie eine WHERE-Klausel hinzu, die alle Felder enthält, für die Sie zur Eingabe eines Parameters auffordern möchten.

    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, und fügen Sie sie andernfalls hinzu.

  3. Anstatt ein Kriterium in der WHERE-Klausel zu verwenden, verwenden Sie eine Parameter-Eingabeaufforderung.

Parameterdatentypen angeben

Sie können auch angeben, welche Art von Daten ein Parameter akzeptieren soll. Sie können den Datentyp für jeden Parameter angeben, aber es ist besonders wichtig, den Datentyp für numerische, Währungs- oder Datums-/Uhrzeitdaten anzugeben. Wenn Sie den Datentyp angeben, den ein Parameter akzeptieren soll, sehen Benutzer eine hilfreichere Fehlermeldung, wenn sie den falschen Datentyp eingeben, z. B. die Eingabe von Text, wenn eine Währung erwartet wird.

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

Gehen Sie folgendermaßen vor, 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 jeden Parameter ein, für den Sie den Datentyp angeben möchten. Stellen Sie sicher, dass jeder Parameter mit der Eingabeaufforderung übereinstimmt, die Sie in der Zeile „Kriterien" des Abfrageentwurfsbereichs verwenden.

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

Erstellen Sie ein Formular, das Parameter sammelt

Obwohl Parameterabfragen über ein integriertes Dialogfeld zum Erfassen von Parametern verfügen, bieten sie nur grundlegende Funktionen. Durch die Verwendung eines Formulars zum Sammeln von Parametern erhalten Sie die folgenden Funktionen:

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

  • Persistenz der gesammelten Parameter, sodass Sie sie mit mehr als einer Abfrage verwenden können.

  • Die Möglichkeit, ein Kombinationsfeld oder Listenfeld für die Parametererfassung bereitzustellen, mit dem Sie aus einer Liste verfügbarer Datenwerte auswählen können.

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

Das folgende Video zeigt, wie Sie ein einfaches Formular erstellen können, um Parameter für eine Abfrage zu sammeln, anstatt die Dialogfelder zu verwenden, die normalerweise Parameterabfragen zugeordnet sind.

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

Erstellen Sie ein Formular, das Parameter für einen Bericht sammelt

Es gibt mehrere Möglichkeiten, dieses Szenario anzugehen, aber wir zeigen nur eine Technik, bei der hauptsächlich Makros verwendet werden. Führen Sie diese Schritte aus, um ein Formular zu erstellen, das Parameter für einen Bericht erfasst.

Schritt 1: Erstellen Sie ein Formular, 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 Eigenschaftenblatt anzuzeigen, und geben Sie dann die Formulareigenschaften an, wie in der folgenden Tabelle gezeigt.

    Eigentum

    Einstellung

    Untertitel

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

    Standardansicht

    Einzelformular

    Formularansicht zulassen

    Ja

    Datenblattansicht zulassen

    NEIN

    PivotTable-Ansicht zulassen

    NEIN

    PivotChart-Ansicht zulassen

    NEIN

    Bildlaufleisten

    Weder

    Datensatzauswahl

    NEIN

    Navigationstasten

    NEIN

    Rahmenstil

    Dialog

  3. Klicken Sie für jeden Parameter, den das Formular erfassen soll, 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 gezeigt.

    Eigentum

    Einstellung

    Name

    Geben Sie einen Namen ein, der den Parameter beschreibt, z. B. StartDate .

    Format

    Wählen Sie ein Format, das den Datentyp des Parameterfelds widerspiegelt. Wählen Sie beispielsweise Allgemeines Datum für ein Datumsfeld aus.

  5. Speichern Sie das Formular und geben Sie ihm einen Namen, z. B. frmCriteria .

Schritt 2: Erstellen Sie ein Codemodul, um zu prüfen, ob das Parameterformular bereits geladen ist

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros & Code auf Modul .

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

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

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

Schritt 3: Erstellen Sie ein Makro, das das Formular und den Bericht steuert

Mit den Untermakrofunktionen von Access-Makros können wir alle erforderlichen Schritte in einem einzigen Makro definieren. Wir erstellen vier Untermakros – Dialog öffnen, Dialog schließen, OK und Abbrechen – um die verschiedenen Aufgaben zu steuern, die für dieses Verfahren erforderlich sind. Erstellen Sie anhand des folgenden Screenshots als Richtlinie ein neues Makro mit den folgenden Untermakros und Aktionen. Beachten Sie, dass unser Parameterformular für dieses Beispiel frmCriteria heißt. Passen Sie Ihr Makro an den Namen des zuvor erstellten Formulars an. Sie müssen auch sicherstellen, dass Sie auf der Registerkarte Design auf Alle Aktionen anzeigen klicken, um alle Makroaktionen anzuzeigen.

Screenshot eines Access-Makros mit vier Untermakros und Aktionen.

Speichern und schließen Sie das Makro. Geben Sie dem Makro einen Namen, z. B. Date Range Macro .

Schritt 4: Fügen Sie dem Formular die Befehlsschaltflächen OK und Abbrechen hinzu

  1. Öffnen Sie das zuvor erstellte Parameterformular erneut in der Entwurfsansicht.

  2. Stellen Sie sicher, dass Steuerelement-Assistenten verwenden in der Gruppe Steuerelemente auf der Registerkarte Design nicht ausgewählt ist.

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

  4. Positionieren Sie den Mauszeiger unter den Textfeldern in Ihrem Formular, und ziehen Sie dann, um eine OK- Befehlsschaltfläche zu erstellen.

  5. Wenn das Eigenschaftenblatt 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 gezeigt.

    Eigentum

    Einstellung

    Name

    OK

    Untertitel

    OK

    Standard

    Ja

    OnClick

    Geben Sie den Namen des Makros ein, z. B. Date Range Macro.OK .

  7. Erstellen Sie eine Befehlsschaltfläche „Abbrechen" und legen Sie ihre Eigenschaften fest, wie in der folgenden Tabelle gezeigt.

    Eigentum

    Einstellung

    Name

    Stornieren

    Untertitel

    Stornieren

    OnClick

    Geben Sie den Namen des Makros ein, z. B. Date Range Macro.Cancel .

  8. Speichern und schließen Sie das Formular.

Schritt 5: Verwenden Sie die Formulardaten als Abfragekriterien

  1. Öffnen Sie die zuvor erstellte Abfrage in der Entwurfsansicht.

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

    • Beispielsweise verwenden Sie in einer Access-Datenbank (ACCDB oder MDB) für ein Formular mit dem Namen frmCriteria den folgenden Ausdruck, um auf Steuerelemente mit den Namen Startdatum und Enddatum in der Abfrage zu verweisen:

      Zwischen [Formulare]![frmCriteria]![Startdatum] und [Formulare]![frmCriteria]![Enddatum]

Schritt 6: Fügen Sie die Makroaktionen zu den Berichtsereignissen hinzu

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

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

  3. Stellen Sie sicher, dass die Eigenschaft „Datensatzquelle" des Berichts die zuvor definierte Parameterabfrage verwendet.

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

    Eigentum

    Einstellung

    BeiÖffnen

    Geben Sie den Namen des Makros ein, z. B. Date Range Macro.Open Dialog .

    BeimSchließen

    Geben Sie den Namen des Makros ein, z. B. Date Range Macro.Close Dialog .

    Im Open-Ereignis des Berichts führt Access die Aktionen aus, die im Untermakro „Open Dialog" des Date Range Macro-Objekts definiert sind. Wenn Sie den Bericht schließen, führt Access die Aktionen aus, die im Untermakro „Dialogfeld schließen" des Makroobjekts „Datumsbereich" definiert sind.

  5. Speichern und schließen Sie den Bericht.

Schritt 7: Probieren Sie es aus

Nachdem Sie nun alle Access-Objekte erstellt haben, ist es an der Zeit, es auszuprobieren. Öffnen Sie Ihren 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 Daten, die Ihren Kriterien entsprechen. Dies funktioniert, weil die Parameterabfrage, auf der der Bericht basiert, die Werte in den Steuerelementen des verborgenen Formulars lesen kann. Wenn Sie den Bericht schließen, schließt Access auch das Parameterformular.

Seitenanfang

No comments:

Post a Comment