Power Apps – Eingaben von Duplikaten vermeiden

Die Eingabe von Datensätzen und Vermeidung der Eingabe von Duplikaten in MS Power Apps, in der Kombination mit auf SharePoint Online liegenden Listen, ist nicht einfach umzusetzen. Es gibt nämlich leider keine geeignete Funktion hierfür. Eine einfache Möglichkeit ergäbe sich zwar aus dem Umstand heraus, dass von vornherein in einer SharePoint Liste diese keine doppelten Werte erlaubt, dies ist jedoch u.U. kontraproduktiv, wenn mehrere Benutzer mit der gleichen Liste als Qualle arbeiten, da mehrere Mitwirkende gleiche Datensätze erstellen könnten.

Eine Lösung hierfür ist das Erstellen einer Variable zum Zeitpunkt der Erstellung eines Datensatzes, um diese dann bei einer erneuten Eingabe eines Referenzfeldes miteinander zu vergleichen, um festzustellen, ob der Eintrag bereits existiert, und so die Eingabe zu verhindern.

Der erste Eintrag ist erstmal keine Dublette. Ein zweiter identischer dagegen ja.

clip_image002clip_image005


Um die erneute Eingabe per Eingabebildschirm zu verhindern, zeigt nach dem Drücken der unteren Schaltfläche „Speichern und absenden“ das Formular „Duplikat“ in rot an um verhindert eine weitere Speicherung eines neuen gleichlautenden Datensatzes.

Exemplarisch stelle ich die Möglichkeit vor, wie unter Verwendung einiger Felder und deren Eigenschaften, dies verhindert werden kann.

.Das ist der Ausgangspunkt. Nachfolgend die Eigenschaften und Einstellungen der Felder:

Sobald der Datensatz durch betätigen der Schaltfläche gespeichert worden ist, wird auch gleichzeitig eine Variable erstellt:

clip_image006

Die Eigenschaft OnSelect:

Set(DatumWert;DatePicker1_1.SelectedDate)

Die Schaltfläche „Speichern und absenden“ wird mit der Eigenschaft OnSelect und DisplayMode konfiguriert. OnSelect ist bereits konfiguriert (Siehe oben).

clip_image007

Die Eigenschaft DisplayMode:

If(DatumWert=DatePicker1_1.SelectedDate;DisplayMode.Disabled;DisplayMode.Edit)

Bezeichnungsfeld als Referenz zur Überprüfung

Ein weiteres verstecktes Bezeichnungsfeld (unsichtbar gemachtes Datumsfeld über die Eigenschaft „Visible: false“) wird mit der Variable (oben stehend) verglichen.

In einem versteckten Steuerelement „Bezeichnung“ wird der gespeicherte Wert aus dem Auswahlfeld Datum übertragen Das ist das untere Feld.

image

Das Feld „Duplikat“ wird über die Eigenschaft DisplayMode wahlweise eingeblendet oder ausgeblendet, je nach dem, ob der Wert Datum übereinstimmt mit der Variable DatumWert und dem Wert aus dem Formular Datum.

clip_image010

Eigenschaft DisplayMode:

Die Eigenschaft DisplayMode ist mit einer Wenn-Funktion versehen:

If(Datum_step1.Text=P_Dublette.Text;DisplayMode.View;DisplayMode.Disabled)

Ist das Datum = WertDatum (Variable), wird über die Eigenschaft DisplayMode.Disabled die Anzeige „Duplikat“ erzwungen, anderenfalls ist das Feld ausgeblendet, da kein Duplikat vorliegt.

Entscheidend hierbei ist, sich auf die Eigenschaft des Steuerelements DisplayMode.View zu beziehen, wenn das Referenzfeld den gleichen Wert enthält, in diesem Fall ist das gewählte Datum zu berücksichtigen.

Weitere Beispiele und Möglichkeiten des Einsatzes von Power Apps inkl. Flow finden Sie hier:

https://ppedv.de/Schulung/Kurse/PowerAppsFlowMicrosoftOffice365SharePointAnwenderSeminarTrainingWeiterbildung.aspx

Kommentare sind geschlossen