Dieser Blogartikel ist Teil einer Serie über das Erstellen von PowerApps. Weitere Artikel finden Sie hier:
1. Arbeiten mit PowerApps – Grundlagen
2. Grundlagen von PowerApps Komponenten und PowerApps Studio
Die beiden vorherigen Artikel haben sich mit den Grundlagen von PowerApp und deren Komponenten beschäftigt. Dabei wurden die ersten Teile einer PowerApp für ein einfaches Bestellwesen entwickelt. Dieser Artikel beschreibt das weitere Vorgehen und erweitert die vorher erstellte PowerApp.
Im aktuellen Stand haben wie der PowerApp eine Datenverbindung zu SharePoint hinzugefügt und einen Datentabelle sowie ein Formular zum Bearbeiten der einzelnen Datensätze eingefügt.

Die nächsten Aufgaben wären jetzt die Änderungen in die Datenquelle zurückzuschreiben, neue Einträge in der Datenquelle zu erstellen sowie vorhandene zu löschen. Wir benötigen dazu zuerst drei Schaltflächen, eine für das Speichern von Änderungen, eine um einen neuem Eintrag zu erstellen und eine zum Löschen. Klicken Sie dazu im Ribbon auf Einfügen und auf Schaltfläche.

Platzieren Sie die Schaltflächen unterhalb des Formulars. Wenn Sie eine Schaltfläche anklicken, können Sie in der Eigenschaft Text die Beschriftung ändern. Es bietet sich außerdem an den Schaltflächen einen selbst beschreibenden Namen zu geben.
Achtung: Wir werden im Folgenden einige Formeln verwenden. In der Dokumentation ist angegeben, dass Argumente in einer Funktion mit einem Komma (,) getrennt werden. Wenn Sie allerdings in einer deutschsprachigen Umgebung entwickeln, müssen Sie die Argumente mit einem Semikolon (;) trennen! Ich werde in diesen Artikeln in einer deutschsprachigen Umgebung arbeiten. Beachten Sie auch, dass die Codebeispiele aus dem Internet fast immer mit Komma arbeiten. Wenn Sie diese Beispiele verwenden wollen, müssen Sie diese entsprechend ändern.

Neue Daten anlegen
Damit ein Speichervorgang ausgeführt wird, muss die Datenquelle auf den Klick der Schaltfläche Neuer Eintrag reagieren. Dies erfolgt über eine Formel, welche der Schaltfläche in der Registerkarte Erweitert in der Eigenschaft OnSelect mitgegeben wird. Es gibt mehrere Formeln, welche dazu verwendet werden können einen neuen Wert in einer Datenquelle zu speichern.

Die erste Möglichkeit ist die Formel NewForm(Name des Formulars). In meinen Fall wäre dies
NewForm(Form1).
Dieses Format hat allerdings Probleme, wenn Sie im gleichen Formular Einträge ändern und neue Einträge erstellen. Daher ist die bessere Alternative, die Formel Collect zu verwenden. Die Formel besteht aus dem Format:
Collect(Datenquelle, Element, … )
wobei Element eine Aufzählung ist welche Felder in der
Datenquelle mit welchem Wert gefüllt werden. Die Auflistung hat dabei das Format
{Name des Felds in der Datenquelle:Wert eines Feldes in der PowerApp;}
In unserem Fall würde also die Formel wie folgt aussehen. Diese Formel tragen
wir in die OnSelect Eigenschaft der
Schaltfläche Neuer Eintrag ein.
Collect(Bestellungen;{Title:DataCardValue1.Text;Menge:Value(DataCardValue2.Text);Beschreibung:DataCardValue3.Text})
Die Felder welche wir in der Funktion angeben, DataCardValueX, sind die Felder welche die Werte im Formular enthalten. Diese Felder werden in PowerApp Karten genannt. Sie können die Namen der Felder/Karten in der Übersicht links finden, indem Sie einfach die Datenfelder des entsprechenden Formulars erweitern.

Wenn ein neuer Wert einer Datenquelle hinzugefügt wird, wird diese automatisch aktualisiert. Damit wird der neue Wert auch gleich in der Datentabelle angezeigt.
Achtung: Die Funktion Collect prüft nicht, ob die Datenquelle welche Sie angeben wirklich existiert. Wenn Sie also z.B. einen Schreibfehler haben, wird die Funktion ohne Beanstandung ausgeführt, Sie erhalten allerdings keinerlei Ergebnis oder Fehler.
Damit wir nach jeden Eintrag wieder leere Eingabefelder haben und das Formular zurücksetzen, ergänzen wir die Formel oben um ;;NewForm(Form1);;ResetForm(Form1). Dabei verbindet ;; zwei Formeln miteinander. Die komplette Formel wäre also
Collect(Bestellungen;{Title:DataCardValue1.Text;Menge:Value(DataCardValue2.Text);Beschreibung:DataCardValue3.Text});;NewForm(Form1);;ResetForm(Form1)
Vorhandene Daten aktualisieren
Vorhandene Daten zu aktualisieren ist einfacher. Editieren Sie die Schaltfläche zum Aktualisieren wie schon oben beschrieben und benennen diese mit Speichern. In der OnSelect Eigenschaft können wir jetzt aber nicht mehr die Collect Funktion verwenden, sondern einfach SubmitForm(Name des Formulars). In meinen Fall wäre dies
SubmitForm(Form1)
Wenn Sie einen Datensatz in der Tabelle anklicken, erscheint dieser im Formular. Ändern Sie die Werte entsprechend und klicken Sie dann auf den Button.
Vorhandene Daten löschen
Um vorhandene Daten zu löschen, editieren Sie die dritte Schalfläche und ändern die Beschriftung in Löschen. Fügen in der OnSelect Eigenschaft der Schaltfläche die folgende Formel ein.
Remove(Bestellungen;DataTable1.Selected)
Dabei ist Bestellungen die Datenquelle und DataTable1.Selected der ausgewählte Datensatz in der Datentabelle.
Haben Sie diese Anforderung schon einmal gehabt? Oder eine andere Frage? Dann schreiben Sie einen Kommentar!
Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.
Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.
Danke für die einfache Erklärung. Ich konnte hiermit meine erste PowerApp gut aufbauen
LikeLike
Danke, das freut mich wirklich zu hören!
LikeLike