Gilt für:
- Winshuttle Foundation
Abfrage
Verwenden Sie das Winshuttle Composer Element Abfrage, um eine Datenquelle abzufragen, einschließlich Quellen wie ODBC, OLEDB, LDAP oder eine SharePoint-Liste.
Die Abfrage kann ausgeführt werden, wenn das Formular eingereicht wird oder sich ein Feld ändert.
Die Ergebnisse der Abfrage können in einem wiederholten Element angezeigt werden, wenn sie mehr als einen Posten beinhaltet.
Auf dieser Seite
- Eigenschaften des Elements „Abfrage“ (Tabelle)
- Hinzufügen einer Abfrage
- Konfigurieren des Elements „Abfrage“ für SharePoint-Benutzerprofildienste
- Beispiele für Abfrage für SQL
Hinweis: Wenn Sie die Option „SharePoint-Benutzerprofildienste“ verwenden, muss der Benutzer die Enterprise Version von SharePoint besitzen und die SharePoint-Benutzerprofildienste konfiguriert haben.
Eigenschaften des Elements „Abfrage“
Eigenschaft |
Beschreibung |
Name |
Ein beschreibender Name für das Element. |
Datenverbindung |
Die Verbindungszeichenfolge zu einer Datenquelle, die eine ODBC-Verbindungszeichenfolge, LDAP, OLEDB oder eine SharePoint-Website für SharePoint-Listenabfragen sein kann. Hier klicken, um eine Datenverbindung (SQL, SharePoint, SOAP-Webdienst oder andere) für die Abfrage zu wählen, oder klicken Sie auf Hinzufügen, um eine neue hinzuzufügen. Siehe Hinzufügen von Datenverbindungen für weitere Informationen über das Hinzufügen von Datenverbindungen. |
LDAP-Abfrage-Verbindungszeichenfolge |
Wählen Sie LDAP (Lightweight Directory Access Protocol) und geben Sie dann die Verbindungszeichenfolge zum LDAP-Server an. |
Feld für Benutzerprofilname (nur Portal) |
Der Name des Felds, das den Namen des aktuellen Benutzers beinhaltet. Diese Funktionalität funktioniert in Verbindung mit dem Element Aktueller Benutzer, bei dem das Element ein vorgegebenes Feld mit dem Anmeldenamen des aktuellen Benutzers befüllt. |
Portal-Stammverzeichnis |
URL zum Stammverzeichnis des SPS oder MOSS. |
Abfrage |
Auf der Datenquelle auszuführende SQL- oder SharePoint-Abfrage. |
Ausführen bei |
|
Feld |
Führt die Abfrage aus, wenn das angegebene Feld geändert wird. |
Felder festlegen |
Legt Werte in der XML fest, um Ausgabewerte abzurufen. Das Format ist <Feldname>=<Name des Abfragefelds>,<Feldname>=<Name des Abfragefelds>,... |
An wiederholte Gruppe anfügen |
Hängt Ergebnisse an eine bestehende, wiederholte Gruppe an.
|
Ordinalzahl |
Die Reihenfolge (1, 2 usw.), in der die Abfrage ausgeführt werden soll (wenn mehrere Abfrage-Elemente verwendet werden). |
Felder bei leerer Ausgabe löschen |
Wenn die Abfrage keine Zeilen ausgibt, führt die Wahl dieser Option dazu, dass die Formularfelder gelöscht werden. Diese Eigenschaft funktioniert nur mit „Ausführen bei: „Bei Feldänderung“ und „Durch Regel aufgerufen““. |
Leere Nachricht |
Die Nachricht, die dem Endbenutzer angezeigt wird, wenn die Abfrage keine Zeilen ausgibt. Wenn dieses Feld leer bleibt, wird keine Nachricht angezeigt. Diese Eigenschaft funktioniert nur mit „Ausführen bei: „Bei Feldänderung“ und „Durch Regel aufgerufen““. |
Hinzufügen einer Abfrage
Das folgende Verfahren zeigt, wie eine Abfrage hinzugefügt und konfiguriert wird.
- Klicken Sie auf der Registerkarte „Elemente“ auf Erweiterte Elemente.
- Klicken Sie auf Abfrage.
Das Element „Abfrage“ wird oben links in das Formular eingefügt.
- Klicken Sie auf die Schaltfläche „Abfrage“, um seine Eigenschaften im Bereich Eigenschaften zu öffnen.
- Wählen Sie unter Datenverbindung die Datenverbindung für die Abfrage aus dem Dropdownmenü. (Hinweis: Sie können auf Hinzufügen klicken, um gegebenenfalls eine Datenverbindung hinzuzufügen.)
- Fügen Sie unter „Abfrage“ den Abfragecode in das Abfragefeld ein, um eine Abfrage hinzuzufügen. Dies kann zum Beispiel wie folgt aussehen:
Tipp: Falls die Abfrage eine SharePoint-Liste abfragt, benötigen Sie nur den Wert „filter=“, da in den Eigenschaften einer Composer SharePoint-Datenverbindung bereits der Name und die Felder der SharePoint-Liste vorhanden sind.
Beispiel: SharePointColumn==@[myFieldXPath] kann in einem echten Szenario folgendermaßen aussehen: Code==@[/my:myFields/my:CurrencyCode]
Sortierung: Wenn in Composer Abfragefelder verwendet werden, wird die Abfrage durchgeführt, bevor Composer Felder sortiert. Wenn Ihre Abfrage beispielsweise nur bestimmte Währungen abfragt und die Datenverbindung dahingehend eingestellt ist, nach Währungskurs zu sortieren, wird der Datensatz nur für die Währungen nach Währungskurs sortiert, die in dem Abfragefeld ausgegeben werden.
- Wählen Sie unter Ausführen, wann die Abfrage ausgeführt werden soll:
- Start: Ausführen, wenn das Formular gestartet wird.
- Ende: Ausführen, wenn das Formular abgeschlossen wird.
- Wenn sich das Feld ändert: Abfrage ausführen, wenn das Feld geändert wurde.
- Klicken Sie unter Felder festlegen auf Auswählen. Wählen Sie die Felder und die entsprechenden Spalten, die die durch die Abfrage ausgegeben Daten anzeigen.
- Füllen Sie bei Bedarf die verbleibenden Informationen aus. (Eine Beschreibung der einzelnen Optionen finden Sie oben).
- Wiederholte Gruppe anfügen
- Ordinalzahl
- Felder bei leerer Ausgabe löschen
- Leere Nachricht
Konfigurieren des Elements „Abfrage“ für SharePoint-Benutzerprofildienste
Der SharePoint-Benutzerprofildienst benötigt den Anmeldenamen des Benutzer, bevor er mit der Ausgabe beginnen kann. Sie können das Element Aktueller Benutzer verwenden, um den Anmeldenamen des aktuell angemeldeten Benutzers zu erhalten und ein Feld in Ihrem Formular mit dem Anmeldenamen zu befüllen.
Hinweis: Siehe Microsoft Technet-Artikel Eigenschaftentabelle des Standardbenutzerprofils als Referenz, wenn Sie nach Eigenschaften von SharePoint-Benutzerprofilen suchen. Beachten Sie, dass einige Eigenschaften Leerzeichen aufweisen können. Dies dient aber nur der Anzeige. Die Abfragesteuerung benötigt den internen Namen der Eigenschaft und nicht den Anzeigenamen, um den Wert der Spalte „Benutzerprofileigenschaft“ in der Tabelle weiterzugeben.
Beispiele für die Verwendung des Elements „Abfrage“ mit SQL
Einige Beispiele dazu, wie die Abfrage mit SQL-Abfragen verwendet wird, finden Sie unten stehend.
Beispiel 1
select top 1 Profession from [Job Title Taxonomy] where ProfessionID = [/my:myFields/my:PO13_Descriptions/my:PO13_Descriptions_Input/my:Search_Term] |
Diese Abfrage gibt nur eine Zeile und ein Feld aus, wenn die Tabellenspalte dem Wert in einem Formularfeld entspricht. Beachten Sie die eckigen Klammern um den Tabellennamen (da er Leerzeichen besitzt) und den vollständigen XPath des Formularfeldnamens mit eckigen Klammern.
Hinweis: „top 1“ in diesem Beispiel ist sehr SQL-Server-spezifisch. Andere Datenbanken können eine andere Syntax verwenden.
Beispiel 2
select Profession from [Job Title Taxonomy] where EmployeeName like '[/my:myFields/my:PO13_Descriptions/my:PO13_Descriptions_Input/my:Search_Term]%' |
Der xpath muss zwischen einfache Anführungszeichen gesetzt werden, da dieser zurückgegebene Wert ein Zeichenfolgenwert ist, der potenziell Leerzeichen enthalten kann. Das Prozentzeichen wird nach dem xpath als Platzhalterzeichen verwendet, um zu gewährleisten, dass alle Ergebnisse zurückgegeben werden, die mit dem Wert beginnen, der aus „EmployeeName“ stammt.
Hinweis: Zeichenfolgenwerte müssen zwischen einfache Anführungszeichen gesetzt werden.
Beispiel 3
select distinct ProfessionID from [Job Title Taxonomy] |
Gibt eindeutige Werte von ProfessionID aus der Tabelle aus. Die Ergebnisse würden dann einem wiederholten Abschnitt in einem Formular zugeordnet werden, der dann als Eingabe für Dropdownwerte verwendet wird. Da dies zu sehr langen Tabellen führen kann, ist die Verwendung von SQL für diese Art von Vorgängen schneller und effizienter als ein äquivalenter Vorgang in SharePoint.
Alternative: Mit einer SharePoint-Liste haben Sie wie in der Abfrage unten gezeigt die Anweisungen Auswählen und Filtern.
select VendorNumber, POC; filter=[VendorName]==@[/my:myFields/my:Vendor_Name] |
Es werden zwei SharePoint-Listenspalten ausgegeben: VendorNumber und POC, mit dem Filter: vendorname = form field name.
Hinweis: Beachten Sie das @ und die eckigen Klammern um den xpath.