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 der Ws.CurrentUser-Steuerung, bei der die Steuerung ein entsprechendes 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.
|
Ordinal | 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. |
Leere Nachricht | Die Nachricht, die dem Endbenutzer angezeigt wird, wenn die Abfrage keine Zeilen ausgibt. Wenn dieses Feld leer bleibt, wird keine Nachricht angezeigt. |
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]
- 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
- Ordinal
- 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 dem oben stehenden Beispiel ist sehr SQL-Server-spezifisch. Andere Datenbanken können eine andere Syntax verwenden:
Beispiel 2
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.
Beachten Sie das @ und die eckigen Klammern um den XPath.