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;<Nächstes Feld…>}
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.

Werbeanzeigen

Ein Kommentar zu „Daten anlegen, ändern und löschen mit PowerApps

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.