Veranlassen, dass eine Abfrage zur Eingabe auffordert

Wenn eine Abfrage bei jeder Ausführung zu Eingaben auffordern soll, dann können Sie eine Parameterabfrage erstellen.

Sie können auch ein Formular zum Sammeln von Parameterwerten erstellen. Mithilfe eines Formulars haben Sie folgende Möglichkeiten:

  • Verwenden datentypspezifischer Steuerelemente

  • Aktivieren der Dauerhaftigkeit von Parameterwerten

  • Bereitstellen von Kombinationsfeld-Steuerelementen (damit Sie einen Wert aus einer Liste auswählen können, anstatt ihn eingeben zu müssen)

  • Verwenden von anderen Steuerelementen, die in Formularen verfügbar sind

Hinweis : Sie können kein Formular verwenden, um Abfrageparameter in einer Webdatenbank zu erfassen.

In diesem Artikel wird eine Übersicht über die Parameter und eine Erläuterung zur Verwendung der Parameter in Abfragen bereitgestellt. Außerdem erhalten Sie Informationen, wie Formulare zur optimaleren Nutzung von Parametern verwendet werden.

Inhalt dieses Artikels

Übersicht

Verwenden von Parametern in Abfragen

Hinzufügen eines Parameters zu einer Abfrage

Hinzufügen eines Parameters zu einer Union-Abfrage

Vergleichen eines Teils eines Feldwerts mit einer Parameterzeichenfolge

Vergleich auf Grundlage ungleicher Werte

Angeben von Parameterdatentypen

Erstellen eines Formulars, das Parameter erfasst

Übersicht

Sie können die Kriterien in einer Abfrage in Access verwenden, um die Datensätze einzuschränken, die von der Abfrage zurückgegeben werden. Betrachten Sie das folgende Szenario.

Angenommen, Sie besitzen eine Abfrage namens "Letzte Bestellung", die die Namen und Adressen Ihrer Kunden zusammen mit dem Datum zurückgibt, wann Sie deren letzte Bestellung versendet haben. Kürzlich haben Sie einige neue interessante Produkte in Ihren Bestand aufgenommen und zum Katalog hinzugefügt. Bei jeder Versendung einer Bestellung legen Sie eine Kopie des aktuellen Katalogs bei. Sie erwarten, dass sich die neuen Produkte als sehr beliebt erweisen und möchten sicherstellen, dass alle Kunden darüber informiert werden. Sie möchten allen Kunden einen neuen Katalog senden, die noch keinen mit einer Bestellung erhalten haben.

Daher möchten Sie eine Adressenliste erstellen, die die Namen und Adressen der Kunden enthält, deren letzte Bestellung ausgeliefert wurde, bevor der neue Katalog verfügbar war. Dazu wenden Sie ein Kriterium auf das Feld mit dem Lieferdatum für die Abfrage "Letzte Bestellung" an. Das Kriterium gibt an, dass das Datum im Feld für das Lieferdatum vor dem Datum liegt, an dem Sie mit der Verteilung des neuen Katalogs begonnen haben, z. B. 31.03.2006. Wenn Sie die Abfrage ausführen, erhalten Sie eine Adressenliste, die nur die Kunden enthält, die den neuen Katalog noch nicht erhalten haben.

Aber was geschieht, wenn diese Situation erneut eintritt? Sie könnten den Entwurf der Abfrage ändern, indem Sie den durch das Kriterium angegebenen Wert ändern. Aber wäre es nicht praktisch, wenn die Abfrage zur Eingabe eines Datums auffordert und dann dieses Datum verwendet, um zu entscheiden, welche Kunden in die Adressenliste aufgenommen werden? Sie können die Abfrage entsprechend gestalten, indem Sie eine spezielle Art von Kriterium verwenden, einen sogenannten Parameter.

Möglicherweise sind die von eine Parameterabfrage bereitgestellten Dialogfelder für Ihre Zwecke nicht ausreichend. In diesem Fall können Sie ein Formular erstellen, das Ihren Anforderungen zur Parametererfassung eher entspricht. In diesem Artikel wird erläutert, wie ein Formular erstellt wird, mit dem Berichtsparameter erfasst werden.

In diesem Artikel wird davon ausgegangen, dass Sie mit dem Erstellen von Abfragen vertraut sind. Sie sollten mindestens mit dem Erstellen einer Auswahlabfrage vertraut sein, bevor Sie fortfahren.

Weitere Informationen zum Erstellen einer Auswahlabfrage finden Sie unter Einführung in Abfragen.

Dieser Artikel enthält Beispiele für Ausdrücke. Er bietet keine umfassende Referenz zur Angabe von Kriterien.

Weitere Informationen zum Angeben von Kriterien finden Sie unter Beispiele für Abfragekriterien.

Seitenanfang

Verwenden von Parametern 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 entwerfen, die Sie zur Eingabe einer Information, z. B. eine Teilenummer, oder von mehreren Informationen auffordert, z. B. zwei Datumsangaben. Für jeden Parameter zeigt eine Abfrage ein separates Dialogfeld an, in dem Sie zur Eingabe eines Wert 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 die Zeile Kriterien eines Feld, auf das ein Parameter angewendet werden soll, den Text in eckigen Klammern ein, der im Parameterdialogfeld angezeigt werden soll. Beispiel:

    [Startdatum]

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

    Sie können auch einen Ausdruck mit den Parametereingabeaufforderungen verwenden. Beispiel:

    Zwischen [Startdatum] und [Enddatum]

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

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

Sie können die vorherigen Schritte verwenden, um zu einem der folgenden Abfragetypen einen Parameter hinzuzufügen:

  • Auswahl

  • Kreuztabelle

  • Anfügeabfrage

  • Tabellenerstellungsabfrage

  • Aktualisierung

Hinzufügen eines Parameters zu einer Union-Abfrage

Sie können auch einer Union-Abfrage einen Parameter hinzufügen.

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

  2. Fügen Sie eine WHERE-Klausel hinzu, die jedes der 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 sich die Felder, für die Sie eine Parametereingabeaufforderung verwenden möchten, bereits in der Klausel befinden. Wenn dies nicht der Fall ist, fügen Sie sie hinzu.

  3. Verwenden Sie anstelle eines Kriteriums in der WHERE-Klausel eine Parametereingabeaufforderung.

Vergleichen eines Teils eines Feldwerts mit einer Parameterzeichenfolge

Möglicherweise wünschen Sie sich eine etwas größere Variabilität bei der Art und Weise, wie die Abfrage einen Parameter anwendet. Wenn Sie z. B. eine Abfrage verwenden möchten, die ein Textzeichenfolge annimmt und diese mit einem beliebigen Teil eines Felds vergleicht. Sie können dazu das Schlüsselwort Like in Kombination mit Platzhalterzeichen verwenden. Wenn Ihre Abfrage z. B. zur Eingabe eines Herkunftslands auffordern, aber dabei vergleichen soll, wenn der relevante Feldwert die Parameterzeichenfolge enthält. Gehen Sie dazu wie folgt vor:

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

  2. Geben Sie in die Zeile Kriterien des Felds, auf das der Parameter angewendet werden soll, die Zeichenfolge Like "*"&[ gefolgt von dem als Eingabeaufforderung zu verwendenden Text ein, und geben Sie anschließend die Zeichenfolge ]&"*" ein.

    Wenn Sie die Parameterabfrage ausführen, wird die Eingabeaufforderung ohne die eckigen Klammern und ohne das Schlüsselwort Like oder die Platzhalterzeichen in dem Dialogfeld angezeigt.

  3. Wenn der Parameter von der Abfrage angenommen wird, vergleicht sie ihn mit Werten, die die Parameterzeichenfolge enthalten. Die Parameterzeichenfolge us vergleicht z. B. Zeilen, in denen das Parameterfeld dem Wert "Australien" entspricht, mit Zeilen, in denen der Wert "USA" enthalten ist.

Sie können mithilfe des Schlüsselworts Like und den Platzhalterzeichen auch festlegen, dass ein Parameter den Anfang oder das Ende eines Feldwerts vergleichen soll. Damit der Anfang eines Feldwerts verglichen wird, lassen Sie die Anführungszeichen, die Platzhalterzeichen und das kaufmännische Und-Zeichen (&) aus, die der öffnenden eckigen Klammer voranstehen. Damit das Ende eines Feldwerts verglichen wird, lassen Sie das kaufmännische Und-Zeichen, die Anführungszeichen und das Platzhalterzeichen aus, die auf die schließende eckige Klammer folgen.

Vergleich auf Grundlage ungleicher Werte

Wenn Sie z. B. einen Parameter erfassen möchten, Sie aber nicht wünschen, dass die Abfrage Zeilen mit einem übereinstimmenden Wert, sondern Zeilen zurückgibt, für die ein anderer Vergleich zutrifft. Sie können z. B. zur Eingabe eines Werts für ein Jahr auffordern und dann Zeilen zurückgeben, bei denen der Wert für das Jahr größer ist als die Parameterzeichenfolge. Geben Sie dazu links von der ersten eckigen Klammer, die die Parameteraufforderung umgibt, einen Vergleichsoperator ein. Beispiel: >[Jahr:].

Seitenanfang

Angeben von Parameterdatentypen

Sie können auch angeben, welche Art von Daten ein Parameter übernehmen soll. Sie können den Datentyp für jeden beliebigen Parameter angeben, es ist jedoch insbesondere wichtig, den Datentyp für numerische Daten, Währungsdaten oder Datums-/Uhrzeitdaten anzugeben. Wenn Sie den Datentyp angeben, den ein Parameter übernehmen soll, wird den Benutzern eine hilfreiche Fehlermeldung angezeigt, falls sie eine falsche Datenart 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 übernimmt, wird jede Eingabe als Text interpretiert, und es wird keine Fehlermeldung angezeigt.

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

  1. Klicken Sie, während die Abfrage in der Entwurfsansicht geöffnet ist, 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 der Datentyp angegeben werden soll. Stellen Sie sicher, 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.

Seitenanfang

Erstellen eines Formulars, das Parameter erfasst

Hinweis : Sie können kein Formular verwenden, um Abfrageparameter in einer Webdatenbank zu erfassen.

Obwohl Parameterabfragen ein integriertes Dialogfeld zum Erfassen von Parametern unterstützen, bieten sie nur grundlegende Funktionen. Durch die Verwendung eines Formulars für die Erfassung von Parametern erhalten Sie die folgenden Funktionen:

  • Die Möglichkeit zur Verwendung von datentypspezifischen Steuerelementen wie Kalendersteuerelementen für Datumsangaben.

  • Beständigkeit der erfassten Parameter, damit sie für mehrere Abfragen verwendet werden können.

  • Die Möglichkeit, ein Kombinationsfeld oder Listenfeld für die Parametererfassung bereitzustellen, mit dem eine Option aus einer Liste variabler Datenwerte ausgewählt werden kann.

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

Gehen Sie folgendermaßen vor, um ein Formular zum Erfassen von Parametern zu erstellen.

Schritt 1: Erstellen eines Formulars, das Eingaben akzeptiert

Schritt 2: Erstellen Sie ein Modul, um zu überprüfen, ob das Parameterformular bereits geladen wurde

Schritt 3: Erstellen von Makros, um das Formular zu steuern

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

Schritt 5: Verwenden der Formulardaten als Abfragekriterien

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 auf F4, um das Eigenschaftenblatt anzuzeigen, und geben Sie dann die Formulareigenschaften an, wie in der folgenden Tabelle veranschaulicht.

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

Keiner

Datensatzmarkierer

Nein

Navigationsschaltflächen

Nein

Rahmenart

Dialogfeld

  1. Für jeden vom Formular zu erfassenden Parameter klicken Sie auf der Registerkarte Entwurf in der Gruppe Steuerelemente auf die Schaltfläche Textfeld.

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

Eigenschaft

Einstellung

Name

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

Format

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

  1. Speichern Sie das Formular und weisen Sie ihm einen Namen zu, z. B. Datumsbereich.

Schritt 2: Erstellen Sie ein Modul, um zu überprüfen, ob das Parameterformular bereits geladen wurde

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

    In Visual Basic Editor wird ein neues Modul geöffnet.

  2. Geben oder fügen Sie den folgenden Code in den Visual Basic-Editor 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, und schließen Sie dann den Visual Basic-Editor.

Schritt 3: Erstellen von Makros, um das Formular zu steuern

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Makro.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Alle Aktionen anzeigen.

  3. Klicken Sie mit der rechten Maustaste auf die Registerkarte für das Makroobjekt, und klicken Sie dann auf Speichern.

  4. Geben Sie einen Namen, z. B. Dialogfeld öffnen, in das Feld Makroname ein, und klicken Sie dann auf OK.

  5. Klicken Sie auf den Dropdownpfeil neben Neue Aktion hinzufügen, und klicken Sie dann auf ÖffnenFormular. Sie verwenden diese Aktion zum Öffnen des Parameterformulars, das Sie zuvor erstellt haben.

    Die Aktion ÖffnenFormular wird aktiviert und zeigt eine Reihe von Argumenten an.

  6. Legen Sie die Aktionsargumente fest, wie in der folgenden Tabelle dargestellt.

Argument

Einstellung

Formularname

Geben Sie den Namen ein, den Sie dem Parameterformular zugewiesen haben.

Ansicht

Formular

Datenmodus

Bearbeiten

Fenstermodus

Dialogfeld

  1. Klicken Sie auf den Dropdownpfeil neben Neue Aktion hinzufügen, und klicken Sie dann auf If.

  2. Geben Sie in der Aktion If im Feld neben If die Zeichenfolge Not IsLoaded gefolgt vom Namen ein, den Sie dem Parameterformular zugewiesen haben, wobei dieser in Anführungszeichen und Klammern eingeschlossen wird. Wenn das Formular z. B. den Namen "Datumsbereich" trägt, dann geben Sie Not IsLoaded("Datumsbereich") ein.

  3. Kicken Sie in der Aktion If auf den Dropdownpfeil neben Neue Aktion hinzufügen, und klicken Sie dann auf AbbrechenEreignis.

  4. Speichern und schließen Sie das Makro.

  5. Wiederholen Sie die Schritte 1 bis 3, um ein neues Makro zu erstellen. Weisen Sie dem neuen Makro einen Namen zu, z. B. Dialogfeld schließen.

  6. Klicken Sie auf den Dropdownpfeil neben Neue Aktion hinzufügen, und klicken Sie dann auf FensterSchließen. Diese Aktion wird von der Abfrage verwendet, um das Parameterformular zu schließen.

  7. Legen Sie die Aktionsargumente fest, wie in der folgenden Tabelle dargestellt.

Argument

Einstellung

Objekttyp

Formular

Objektname

Geben Sie den Namen ein, den Sie dem Parameterformular zugewiesen haben.

Speichern

Nein

  1. Speichern und schließen Sie das Makro.

  2. Wiederholen Sie die Schritte 1 bis 3, um ein weiteres neues Makro zu erstellen. Weisen Sie dem neuen Makro einen Namen zu, z. B. OK.

  3. Klicken Sie auf den Dropdownpfeil neben Neue Aktion hinzufügen, und klicken Sie dann auf SetzenWert. Mithilfe dieser Aktion wird das Berichtsparameterformular ausgeblendet, wenn der Benutzer auf OK klickt.

  4. Legen Sie die Aktionsargumente fest, wie in der folgenden Tabelle dargestellt.

Argument

Einstellung

Element

[Sichtbar]

Ausdruck

Nein

  1. Wiederholen Sie die Schritte 1 bis 3, um ein weiteres neues Makro zu erstellen. Weisen Sie dem neuen Makro einen Namen zu, z. B. Abbrechen.

  2. Klicken Sie auf den Dropdownpfeil neben Neue Aktion hinzufügen, und klicken Sie dann auf FensterSchließen. Mithilfe dieser Aktion wird das Parameterformular geschlossen, wenn der Benutzer auf Abbrechen klickt.

  3. Legen Sie die Aktionsargumente fest, wie in der folgenden Tabelle dargestellt.

Argument

Einstellung

Objekttyp

Formular

Objektname

Geben Sie den Namen ein, den Sie dem Parameterformular zugewiesen haben.

Speichern

Nein

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

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

  2. Stellen Sie sicher, dass die Option Steuerelement-Assistenten verwenden in der Gruppe Steuerelemente der Registerkarte Entwurf nicht aktiviert ist.

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

  4. Positionieren Sie den Zeiger unter den Textfeldern des Formulars, und ziehen Sie dann den Mauszeiger, um die Befehlsschaltfläche OK 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 dargestellt.

Eigenschaft

Einstellung

Name

OK

Beschriftung

OK

Standard

Ja

OnClick

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

  1. Erstellen Sie die Befehlsschaltfläche Abbrechen, und legen Sie deren Eigenschaften fest, wie in der folgenden Tabelle dargestellt.

Eigenschaft

Einstellung

Name

Abbrechen

Beschriftung

Abbrechen

OnClick

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

  1. Speichern und schließen Sie das Formular.

Schritt 5: Verwenden der Formulardaten als Abfragekriterien

  1. Öffnen Sie die Abfrage in der Entwurfsansicht.

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

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

      Zwischen [Formulare]![Datumsbereich]![Anfangsdatum] und [Formular]![Datumsbereich]![Enddatum]

Seitenanfang

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×