Zum Hauptinhalt springen

Abfrageparameter angeben

Dieses Dokument bietet allgemeine Informationen zu Abfrageparametern und beschreibt gängige Methoden zur Verwendung parametrisierter SQL-Abfragen, um Daten auf Datenquellenebene zu filtern.

Übersicht über Abfrageparameter

Ein Abfrageparameter enthält einen externen Wert, der vor der Abfrageausführung in eine SQL-Anweisung eingefügt wird. Dieser Wert kann entweder statisch oder dynamisch durch einen zugeordneten Ausdruck generiert werden.

Der Wert des Abfrageparameters wird in die resultierende SQL-Abfragezeichenfolge an der Position des Platzhalters "@QueryParameterName" eingefügt.

Abfrageparameter werden in den folgenden Szenarien verwendet:

Der Abfrage-Generator hilft Ihnen beim Erstellen von SQL-Abfragen, wenn Sie einen neuen datengebundenen Bericht erstellen oder einen vorhandenen Bericht an eine SQL-Datenquelle binden.

Sie können einem vorhandenen SQL-Datenquellen-Abfragen hinzufügen oder vorhandene Abfragen bearbeiten:

Sie können die erstellten Abfragen mithilfe von Abfrageparametern filtern. Erweitern Sie den Abschnitt Parameter im Abfrage-Generator, um einen neuen Abfrageparameter hinzuzufügen.

Erweitern Sie den Abschnitt Abfrageeigenschaften und klicken Sie auf die Ellipsen-Schaltfläche der Eigenschaft Filter, um den Filter-Editor aufzurufen und Daten mithilfe der erstellten Abfrageparameter zu filtern.

Die auf den angegebenen Abfrageparametern basierenden Kriterien werden als WHERE-Teil der SQL-Anweisung hinzugefügt.

  • Beim Binden eines Berichts an eine gespeicherte Prozedur, die von einer SQL-Datenquelle bereitgestellt wird.

Der Datenquellen-Assistent enthält die folgende Seite.

Wenn Sie eine gespeicherte Prozedur auswählen, erstellt der Assistent einen Abfrageparameter für jeden Prozedurparameter und ermöglicht Ihnen die Konfiguration der Abfrageparameter auf der nächsten Seite Abfrageparameter konfigurieren.

Abfrageparameter konfigurieren

Die folgenden Eigenschaften sind für jeden Abfrageparameter verfügbar:

  • Name — gibt den Namen des Parameters an.
  • Typ — gibt den Datentyp des Parameterwerts an.
  • Ausdruck — bestimmt, ob der tatsächliche Parameterwert statisch ist oder dynamisch generiert wird.
  • Wert — bestimmt den tatsächlichen Wert des Abfrageparameters. Wenn die Option Ausdruck aktiviert ist, wird der tatsächliche Parameterwert dynamisch durch Berechnung eines zugeordneten Ausdrucks erzeugt. Dies ist nützlich, wenn Sie den Wert des Abfrageparameters dem Wert des Berichtsparameters zuordnen. Weitere Informationen finden Sie im nächsten Dokumentabschnitt.

Den Wert des Abfrageparameters bereitstellen

Nachfolgend sehen Sie, wie ein Wert für einen Abfrageparameter auf der Seite des Datenquellen-Assistenten angegeben wird. Sie können Abfrageparameterwerte im Berichtsassistenten oder im Dialog für Abfrageparameter auf die gleiche Weise angeben.

  • Einen statischen Wert angeben

Wählen Sie den Werttyp eines Abfrageparameters aus und legen Sie einen statischen Wert für die Eigenschaft Wert entsprechend dem ausgewählten Typ fest.

  • Einen dynamischen Wert bereitstellen

Erstellen Sie einen komplexen Ausdruck, indem Sie die Dropdown-Liste der Eigenschaft Typ erweitern und Ausdruck auswählen.

Klicken Sie auf die Ellipsen-Schaltfläche der Eigenschaft Wert und erstellen Sie einen Ausdruck im aufgerufenen Ausdrucks-Editor. Sie können einen bereits im Bericht vorhandenen Berichtsparameter einem Abfrageparameter zuordnen.

Einen Mehrfachwert-Parameter an eine Abfrage übergeben

Sie können Mehrfachwert-Parameter Abfrageparametern zuordnen. Die folgende Abfrage wählt beispielsweise die Bestellungen aus, deren IDs in den Werten des Abfrageparameters @OrderID enthalten sind.

Einen Mehrfachwert-Berichtsparameter an eine gespeicherte Prozedur übergeben

Sie können einen Mehrfachwert-Parameter-Wert nicht direkt an eine gespeicherte Prozedur übergeben. Verwenden Sie eine der folgenden Ausdrucksfunktionen:

  • Verwenden Sie die Ausdrucksfunktion Join(), um das Array der Parameterwerte in eine Zeichenfolge umzuwandeln, wenn Sie MS SQL Server-, MySQL- oder Oracle-Datenbanksysteme verwenden.