Duplikate
Nov 19, 2024Effizienter Umgang mit Duplikaten in Power Apps: So verhinderst Du doppelte Datensätze
In jeder Datenbank kann das Problem von doppelten Einträgen schnell für Unordnung sorgen und zu fehlerhaften Auswertungen führen. Insbesondere bei wachsenden Datenmengen ist es entscheidend, dass Duplikate frühzeitig erkannt und professionell behandelt werden. Ich zeige dir, wie du in Power Apps eine Lösung entwickelst, die doppelte Datensätze erkennt und kontrollierte Optionen für den weiteren Umgang bietet.
Schritt 1: Duplikat erkennen
Um Duplikate zu erkennen, eignet sich die Lookup Funktion. Diese Funktion durchsucht die Datenquelle anhand verschiedener Kriterien und gibt dir so die Möglichkeit, Duplikate zu identifizieren. Du kannst z.B. nach gleicher Titelbezeichnung oder Datum durchsuchen.
Nähere Details zur LookUp Funktion findest du hier
Speichern Button
OnSelect = If(IsBlank(LookUp('Ausgaben-Tracker';Titel=DataCardValue1.Text));
SubmitForm(frm_Ausgaben);
Set(varPopUpDuplikat;true))
Schritt 2: PopUp erstellen
Sobald ein Duplikat gefunden wird, kannst du dies den NutzerInnen deiner App mittels PopUp anzeigen. Nutze dazu einen Container, dessen Visible Eigenschaft du anhand einer Variable festlegst.
Nähere Details zur PopUp Erstellung findest du hier
Container Duplikat
Visible = varPopUpDuplikat
Schritt 3: Umgang mit Duplikat
Im angezeigten PopUp kannst du den NutzerInnen jetzt Möglichkeiten zum weiteren Vorgehen bieten.
- Datensatz überschreiben: Diese Option soll den vorhandenen Datensatz aktualisieren, sodass die eben eingetragenen Informationen beibehalten werden.
Button Datensatz überschreiben
OnSelect =
Patch('Ausgaben-Tracker';
LookUp('Ausgaben-Tracker';Titel = DataCardValue1.Text);
{
Datum: DataCardValue2.SelectedDate;
Menge: Value(DataCardValue3.Text);
Kategorie: {Value: DataCardValue4.Selected.Value};
Beschreibung: DataCardValue7.Text;
Bestätigung: Image1.Image
});;
Set(varPopUpDuplikat;false) - Datensatz neu anlegen: Falls gewünscht, kann der neue Eintrag trotzdem gespeichert werden, wodurch du bei Bedarf doppelte Informationen zulässt.
Button Datensatz neu anlegen
OnSelect = SubmitForm(frm_Ausgaben);;
Set(varPopUpDuplikat;false) - Vorgang abbrechen: Bei dieser Auswahl wird der Eintrag nicht gespeichert, und die NutzerInnen können eingetragene Informationen prüfen und anpassen.
Button Abbrechen
OnSelect = Set(varPopUpDuplikat;false))
In der Praxis empfehle ich neben der Abbrechen Möglichkeit nur Überschreiben oder Neu Anlegen anzubieten. Das erleichtert einerseits die Entscheidung der NutzerInnen und liefert keine Probleme beim Überschreiben von Datensätzen, da die LookUp Funktion immer nur den ersten gefundenen Datensatz zurückgibt.
Bonus - Schritt 4: Duplikaterkennung nach mehreren Spalten
Für eine noch präzisere Duplikaterkennung kannst du Filter anlegen, die nur dann ein Duplikat melden, wenn mehrere relevante Felder übereinstimmen.
Bsp. Titel und Datum: Nur wenn Titel und Datum des neuen Eintrags mit einem bestehenden übereinstimmen, wird der Datensatz als Duplikat angesehen.
Lagerbestand
Text =
If(
IsBlank(
LookUp(
'Ausgaben-Tracker';
Titel = DataCardValue1.Text And Datum = DataCardValue2.SelectedDate
)
);
SubmitForm(frm_Ausgaben);
Set(
varPopUpDuplikat;
true
)
)
Ich hoffe dieser Beitrag hilft dir dabei, deine Business Apps effizienter und nutzerfreundlicher zu gestalten sowie deine Datenbanken optimal zu verwalten.
Melde dich gerne für meinen Newsletter an, in dem ich dir Tipps und Tricks rund um Power Apps & Power Automate zusende.
Hier gehts zum Detailvideo: