Die digitale Transformation ist in vollem Gange, und Unternehmen suchen ständig nach Wegen, ihre Prozesse zu optimieren und die Effizienz zu steigern. In der Welt von Microsoft 365 ist SharePoint oft das Herzstück der Zusammenarbeit und des Datenmanagements. Doch wer täglich mit SharePoint-Listen arbeitet, stößt schnell an die Grenzen der standardmäßigen Eingabeformulare. Was, wenn Sie für ein und dieselbe Liste unterschiedliche Formulare benötigen? Vielleicht ein Formular für die IT-Abteilung, das bestimmte Felder vorausfüllt, und ein anderes für die Personalabteilung, das andere Felder zur Pflicht macht? Genau hier setzt unsere SharePoint-Masterclass an. Wir zeigen Ihnen, wie Sie mit Power Apps für eine SharePoint-Liste mehrere Formularumfragen mit individuellen Standardwerten und Pflichtfeldern erstellen – für eine maßgeschneiderte Benutzererfahrung und verbesserte Datenqualität.
### Warum benutzerdefinierte Formularumfragen in SharePoint unverzichtbar sind
Standard-SharePoint-Formulare sind nützlich, aber sie sind „One-Size-Fits-All”. Das bedeutet, alle Benutzer sehen die gleichen Felder, die gleiche Reihenfolge und haben die gleichen Optionen für Standardwerte oder Pflichtfelder. In vielen realen Szenarien ist das jedoch nicht ausreichend:
* **Unterschiedliche Benutzerrollen:** Ein Manager benötigt vielleicht eine vereinfachte Ansicht mit vorausgefüllten Genehmigungsfeldern, während ein Mitarbeiter ein detailliertes Antragsformular ausfüllen muss.
* **Vielfältige Anwendungsfälle für dieselbe Liste:** Eine Liste kann für verschiedene Zwecke verwendet werden – zum Beispiel als Aufgabenliste, für Problemverfolgung oder als Projektübersicht. Jede dieser „Sichten” könnte ein optimiertes Formular erfordern.
* **Phasen eines Prozesses:** In einem Genehmigungsprozess füllt zunächst der Antragsteller das Formular aus, später ergänzt der Vorgesetzte Informationen, und schließlich bestätigt die Fachabteilung. Jede Phase benötigt ein spezifisches Formular.
* **Verbesserung der Datenqualität:** Durch das Vorauszufüllen von Feldern (Standardwerte) und das Festlegen von Pflichtfeldern (Pflichtfelder) stellen Sie sicher, dass die benötigten Informationen korrekt und vollständig erfasst werden.
* **Optimierte Benutzererfahrung:** Ein auf den Kontext zugeschnittenes Formular ist intuitiver und schneller auszufüllen, was die Akzeptanz erhöht und Fehler reduziert.
Die Lösung für diese Herausforderungen liegt in der Anpassung der SharePoint-Formulare, und hier kommt Power Apps ins Spiel.
### Die Rolle von Power Apps bei der Anpassung von SharePoint-Formularen
Power Apps ist eine Low-Code-Plattform von Microsoft, mit der Sie schnell und einfach benutzerdefinierte Apps erstellen können. Das Besondere: Power Apps lässt sich nahtlos in SharePoint integrieren und kann die Standardformulare Ihrer Listen vollständig ersetzen. Dies eröffnet eine Welt voller Möglichkeiten:
* **Visueller Designer:** Erstellen Sie ansprechende Benutzeroberflächen per Drag-and-Drop.
* **Robuste Logik:** Implementieren Sie komplexe Geschäftslogik, bedingte Sichtbarkeit und Validierungen.
* **Konnektoren:** Verbinden Sie Ihre Formulare mit unzähligen Datenquellen und Diensten, nicht nur mit SharePoint.
* **Flexibilität:** Erstellen Sie ein einziges Power App, das verschiedene „Formular-Sichten” für Ihre SharePoint-Liste bereitstellt.
Im Folgenden tauchen wir tief in die Schritte ein, um genau dies zu erreichen.
### Vorbereitung: Ihre SharePoint-Liste als Basis
Bevor wir uns in Power Apps stürzen, ist eine solide Grundlage unerlässlich: Ihre SharePoint-Liste. Überlegen Sie sich genau, welche Informationen Sie sammeln möchten. Jedes Feld im Formular entspricht einer Spalte in Ihrer Liste.
**Beispiel-Szenario:** Stellen Sie sich vor, Sie haben eine SharePoint-Liste namens „Mitarbeiteranfragen”. Diese Liste soll sowohl für Urlaubsanträge als auch für IT-Supportanfragen verwendet werden.
* **Erstellen Sie die notwendigen Spalten:**
* `Titel` (Text, Standard)
* `Anfragetyp` (Auswahl: „Urlaubsantrag”, „IT-Support”)
* `Antragsteller` (Person oder Gruppe)
* `Startdatum` (Datum und Uhrzeit)
* `Enddatum` (Datum und Uhrzeit)
* `Beschreibung` (Mehrzeiliger Text)
* `Status` (Auswahl: „Offen”, „In Bearbeitung”, „Abgeschlossen”)
* `Priorität` (Auswahl: „Niedrig”, „Mittel”, „Hoch”) – nur für IT-Support
* `Genehmigt_von` (Person oder Gruppe) – nur für Urlaubsantrag
Diese Liste dient als die Datenquelle für unsere verschiedenen Formularumfragen.
### Schritt-für-Schritt-Anleitung: Erstellen mehrerer Formularumfragen mit Power Apps
Der Trick, um mehrere „Formularumfragen” für eine einzige SharePoint-Liste zu erstellen, besteht darin, ein Power App zu entwickeln, das mehrere Bildschirme (Screens) enthält. Jeder Bildschirm repräsentiert eine spezifische Formularumfrage und wird basierend auf dem Kontext (z.B. einem URL-Parameter) angezeigt.
#### 1. Power Apps Studio öffnen und Formular anpassen
1. Navigieren Sie zu Ihrer SharePoint-Liste („Mitarbeiteranfragen”).
2. Klicken Sie im Menüband auf „Integration” -> „Power Apps” -> „Formulare anpassen”.
3. Power Apps Studio wird in einem neuen Browser-Tab geöffnet. Dies erstellt automatisch ein Standardformular, das an Ihre Liste gebunden ist.
#### 2. Mehrere Bildschirme für Ihre Formularumfragen erstellen
Das automatisch erstellte Formular befindet sich auf dem `SharePointForm1`-Bildschirm. Diesen verwenden wir als Basis.
1. **Benennen Sie den Startbildschirm um:** Benennen Sie `Screen1` (oder den automatisch erstellten Bildschirm) in etwas aussagekräftiges wie `DefaultFormScreen` um.
2. **Duplizieren Sie den Bildschirm für jede Umfrage:**
* Klicken Sie im linken Navigationsbereich auf den `DefaultFormScreen`.
* Klicken Sie oben auf der Registerkarte „Startseite” auf „Bildschirm” -> „Neuer Bildschirm” -> „Leer”. Alternativ können Sie einen vorhandenen Bildschirm duplizieren. Für unsere Zwecke ist es einfacher, von Grund auf neu zu beginnen, da wir die Sichtbarkeit von Feldern stark anpassen werden.
* Benennen Sie den neuen leeren Bildschirm um, z.B. in `UrlaubsantragScreen`.
* Fügen Sie einen weiteren leeren Bildschirm hinzu und benennen Sie ihn in `ITSupportScreen` um.
3. **Fügen Sie ein Formular-Steuerelement zu jedem Bildschirm hinzu:**
* Wählen Sie den `UrlaubsantragScreen` aus.
* Klicken Sie im Menüband auf „Einfügen” -> „Bearbeitungsformular” (Edit Form).
* Wiederholen Sie diesen Schritt für den `ITSupportScreen`.
* Benennen Sie die Formulare entsprechend um (z.B. `FormUrlaubsantrag`, `FormITSupport`).
#### 3. Individualisierung der Formularfelder pro Umfrage
Wählen Sie das Formular-Steuerelement (z.B. `FormUrlaubsantrag`) aus. Im rechten Bereich unter „Eigenschaften” wählen Sie „Datenquelle” und verknüpfen es mit Ihrer SharePoint-Liste („Mitarbeiteranfragen”). Power Apps fügt dann automatisch alle Felder Ihrer Liste hinzu.
1. **Felder anzeigen/verbergen:**
* Wählen Sie im rechten Bereich unter „Felder” die Option „Felder bearbeiten”.
* Entfernen Sie die Felder, die für dieses spezifische Formular nicht relevant sind (z.B. `Priorität` für den Urlaubsantrag).
2. **Reihenfolge ändern:** Ziehen Sie die Datenkarten (Felder) im „Felder bearbeiten”-Fenster, um deren Reihenfolge im Formular anzupassen.
3. **Beschriftungen anpassen:** Wählen Sie die jeweilige Datenkarte im Formular aus, entsperren Sie sie (falls nötig über „Erweitert”) und ändern Sie die `Text`-Eigenschaft des Label-Steuerelements innerhalb der Datenkarte.
Wiederholen Sie dies für jedes Formular (z.B. `FormITSupport`), um sicherzustellen, dass nur die relevanten Felder angezeigt werden.
#### 4. Individuelle Standardwerte festlegen (Der Schlüssel zur Effizienz!)
Dies ist einer der mächtigsten Aspekte der Formularanpassung. Wir können Felder automatisch mit sinnvollen Werten vorbefüllen, um die Eingabe zu beschleunigen und Fehler zu minimieren.
1. **Wählen Sie die Datenkarte für das Feld, das Sie anpassen möchten.** Entsperren Sie sie über den Reiter „Erweitert” im rechten Eigenschaftenbereich, falls sie gesperrt ist.
2. **Suchen Sie die `Default`-Eigenschaft der Datenkarte (nicht des Steuerelements im Inneren!).**
3. **Beispiele für Standardwerte:**
* **Aktueller Benutzer:**
* `Antragsteller` (Personenfeld): `User()` (füllt den aktuellen Benutzer aus)
* `Antragsteller.Email` (für ein Textfeld): `User().Email`
* **Aktuelles Datum:**
* `Startdatum` (Datumfeld): `Today()` oder `Now()`
* **Statische Werte:**
* `Status` (Auswahlfeld): `”Offen”`
* `Anfragetyp` (Auswahlfeld im `UrlaubsantragScreen`): `”Urlaubsantrag”`
* `Anfragetyp` (Auswahlfeld im `ITSupportScreen`): `”IT-Support”`
* **Dynamische Werte (basierend auf anderen Feldern):**
* Angenommen, Sie haben ein Feld `Enddatum` und möchten es standardmäßig 7 Tage nach dem `Startdatum` setzen: `DateAdd(DataCardValueStartDatum.SelectedDate, 7, Days)` (wobei `DataCardValueStartDatum` der Name des Steuerelements ist, das das `Startdatum` enthält).
**Wichtig:** Stellen Sie sicher, dass der `DefaultMode` Ihres Formulars auf `FormMode.New` gesetzt ist, wenn Sie ein neues Element erstellen. Dies geschieht typischerweise über die `OnSelect`-Eigenschaft eines „Neu”-Buttons, der `NewForm(FormUrlaubsantrag)` aufruft. Wenn das Formular zum Bearbeiten eines bestehenden Elements verwendet wird, werden die Standardwerte des vorhandenen Elements geladen.
#### 5. Pflichtfelder definieren
Auch hier wählen Sie die Datenkarte des Feldes aus und passen die `Required`-Eigenschaft an.
1. **Wählen Sie die Datenkarte für das Feld, das Sie zur Pflicht machen möchten.** Entsperren Sie sie bei Bedarf.
2. **Suchen Sie die `Required`-Eigenschaft der Datenkarte.**
3. **Setzen Sie den Wert auf `true` oder eine bedingte Logik:**
* **Immer Pflicht:** `true`
* **Bedingt Pflicht:** Zum Beispiel, wenn der `Anfragetyp` auf „IT-Support” gesetzt ist, soll das Feld `Priorität` Pflicht sein.
`If(DataCardValueAnfragetyp.Selected.Value = „IT-Support”, true, false)`
(Wobei `DataCardValueAnfragetyp` das Steuerelement ist, das den Anfragetyp anzeigt).
Power Apps zeigt automatisch ein Sternchen neben Pflichtfeldern an und verhindert das Absenden des Formulars, wenn diese nicht ausgefüllt sind.
#### 6. Submit-Logik und Navigation
Nachdem ein Benutzer ein Formular ausgefüllt hat, muss es gespeichert werden.
1. **Fügen Sie einen „Senden”-Button hinzu:**
* Klicken Sie auf „Einfügen” -> „Button”.
* Benennen Sie ihn um in `btnSubmitUrlaub` oder `btnSubmitIT`.
* Ändern Sie den `Text` des Buttons auf „Antrag senden”.
2. **`OnSelect`-Eigenschaft des Buttons:**
* Für `btnSubmitUrlaub`:
„`powerapps
SubmitForm(FormUrlaubsantrag);
If(FormUrlaubsantrag.LastSubmit.ID <> Blank(), // Prüfen, ob Speichern erfolgreich war
Navigate(SuccessScreen, ScreenTransition.Fade),
Notify(„Fehler beim Speichern des Urlaubsantrags. Bitte versuchen Sie es erneut.”, NotificationType.Error)
);
„`
* Für `btnSubmitIT`:
„`powerapps
SubmitForm(FormITSupport);
If(FormITSupport.LastSubmit.ID <> Blank(),
Navigate(SuccessScreen, ScreenTransition.Fade),
Notify(„Fehler beim Speichern der IT-Supportanfrage. Bitte versuchen Sie es erneut.”, NotificationType.Error)
);
„`
* Erstellen Sie einen `SuccessScreen` mit einer Bestätigungsnachricht und einem Button, der zurück zur Liste navigiert oder das Formular zurücksetzt (`ResetForm(FormUrlaubsantrag); Back()`).
#### 7. Navigation zwischen den Formularen ermöglichen (Der zentrale Punkt!)
Wie gelangen Benutzer zu den verschiedenen „Formularumfragen”? Der eleganteste Weg ist die Verwendung von URL-Parametern in Kombination mit einer Power Apps, die dynamisch den richtigen Bildschirm anzeigt.
1. **Der Startbildschirm (`DefaultFormScreen`):**
* Dieser Bildschirm sollte die Logik enthalten, um zu bestimmen, welches Formular angezeigt werden soll.
* Setzen Sie die `OnStart`-Eigenschaft der App (nicht des Bildschirms! Gehen Sie zu „App” im Tree-View auf der linken Seite und dann zu den Eigenschaften) auf:
„`powerapps
Set(varFormType, Param(„FormType”));
If(varFormType = „Urlaub”, Navigate(UrlaubsantragScreen, ScreenTransition.Fade),
If(varFormType = „ITSupport”, Navigate(ITSupportScreen, ScreenTransition.Fade),
Navigate(DefaultFormScreen, ScreenTransition.Fade) // Fallback oder ein Übersichts-Screen
)
);
„`
* **Hinweis:** Wenn Sie das Power Apps als das „Listenformular” in SharePoint anpassen, kann die Navigation direkt erfolgen, wenn Sie eine „Neues Element”-Schaltfläche in der Power Apps verwenden. Wenn Sie jedoch über *externe Links* auf diese verschiedenen Formulare zugreifen möchten, ist der `Param`-Ansatz ideal.
2. **Links zu den Formularen:**
* Veröffentlichen Sie Ihre Power Apps.
* Sie erhalten einen Web-Link zur App.
* Fügen Sie Parameter an diesen Link an:
* Für Urlaubsantrag: `https://apps.powerapps.com/play/….?FormType=Urlaub`
* Für IT-Support: `https://apps.powerapps.com/play/….?FormType=ITSupport`
* Diese Links können Sie dann in SharePoint-Seiten, Mails oder als Quick Links einbetten.
**Alternative (weniger ideal für „mehrere Umfragen”, aber einfacher für „ein Formular mit bedingter Logik”):**
Sie könnten auch *nur einen* Bildschirm mit *einem* Formular-Steuerelement verwenden. Die Sichtbarkeit (`Visible`) der Datenkarten und deren `Default`- / `Required`-Eigenschaften würden Sie dann basierend auf einem Dropdown-Feld für den „Anfragetyp” im Formular steuern. Dies macht das Formular jedoch sehr lang und potenziell unübersichtlich. Die Methode mit mehreren Bildschirmen ist sauberer für echte „mehrere Umfragen”.
### Best Practices und Tipps für Ihre Formularumfragen
* **Benutzerfreundlichkeit zuerst:** Achten Sie auf ein klares Design, verwenden Sie Beschriftungen, Hilfetexte und visuelles Feedback. Vermeiden Sie zu viele Felder auf einmal.
* **Performance-Optimierung:** Halten Sie die Anzahl der Steuerelemente gering. Verwenden Sie `Concurrent` für gleichzeitige Datenabrufe.
* **Versionierung:** Speichern Sie Ihre Power Apps regelmäßig und nutzen Sie die Versionierungsfunktion, um bei Problemen auf frühere Versionen zurückzugreifen.
* **Ausführliche Tests:** Testen Sie Ihre Formulare unter verschiedenen Bedingungen und mit verschiedenen Benutzerrollen.
* **Fehlerbehandlung:** Implementieren Sie `Notify` und `IfError`-Funktionen, um Benutzern bei Problemen klares Feedback zu geben.
* **Integration mit Power Automate:** Erweitern Sie die Funktionalität Ihrer Formulare durch Workflows. Senden Sie z.B. eine E-Mail, wenn ein Antrag eingereicht wird, oder starten Sie einen Genehmigungsprozess.
* **Barrierefreiheit:** Achten Sie auf Kontrast, Fokusreihenfolge und alternative Texte für Bilder, um die App für alle Benutzer zugänglich zu machen.
* **Konsistenz:** Halten Sie das Design und die Logik über alle Ihre Formulare hinweg konsistent, wo immer möglich.
### Herausforderungen und Lösungen
* **Komplexität bei sehr vielen Feldern:** Wenn Ihre Liste Hunderte von Spalten hat, kann Power Apps überladen wirken. Überlegen Sie, ob Sie die Liste in kleinere, spezialisierte Listen aufteilen können.
* **Synchronisation von Änderungen an der SharePoint-Liste:** Wenn Sie neue Spalten in Ihrer SharePoint-Liste hinzufügen, müssen Sie diese manuell in Power Apps hinzufügen und im Formular platzieren. Power Apps aktualisiert nicht automatisch die angezeigten Felder.
* **Berechtigungen:** Stellen Sie sicher, dass Ihre Benutzer die notwendigen Berechtigungen für die SharePoint-Liste und die Power Apps selbst haben.
### Fazit
Die Erstellung mehrerer Formularumfragen mit individuellen Standardwerten und Pflichtfeldern für eine SharePoint-Liste ist mit Power Apps nicht nur möglich, sondern auch eine äußerst effektive Methode, um Ihre Geschäftsprozesse zu digitalisieren und die Benutzererfahrung erheblich zu verbessern. Sie verwandeln starre SharePoint-Formulare in dynamische, intelligente Eingabemasken, die sich den Bedürfnissen Ihrer Benutzer und den Anforderungen Ihres Workflows anpassen.
Mit den in dieser Masterclass gelernten Techniken können Sie die Datenqualität in Ihrer SharePoint-Umgebung steigern, die Effizienz Ihrer Teams verbessern und letztendlich einen erheblichen Mehrwert für Ihr Unternehmen schaffen. Zögern Sie nicht, diese Möglichkeiten zu erkunden – der Sprung von Standardformularen zu maßgeschneiderten Power Apps ist ein Game Changer! Beginnen Sie noch heute und revolutionieren Sie Ihre Datenerfassung in SharePoint.