Microsoft Power Apps - Verständnisfrage beim Update eines Wertes

  • Sonstige

    Microsoft Power Apps - Verständnisfrage beim Update eines Wertes

    Hallo,
    kennt sich hier jemand mit Power Apps aus?
    Ich habe für die Firma eine Anwendung geschrieben für den Haupteingang, damit sich dort Gäste, Handwerker und Mitarbeiter die nicht über die Zeiterfassung laufen (AT), anmelden können.
    Nun nutzen wir seit letztem Jahr Office 365 und die Anforderung kam, die Mitarbeiter aus der Anmeldung heraus zu nehmen und über eine App für das iPhone zu regeln.
    Da wir keinen Apple Developer Account haben und auch keine Mac Rechner, befasse ich mich daher mit Power Apps.
    Ich habe also eine kleine Anwendung erstellt und meine SQL-Datenbank angebunden.
    Verstanden habe ich, das Daten nur über Kataloge, Datentabellen oder Forms angezeigt werden können, ist soweit auch kein Problem.
    Ich hab es auch geschafft, einen einzelnen Datensatz im Katalog auszuwerten und mir eine einzelne Eigenschaft auf einen Button zu legen.
    Nun scheitere ich aber daran, das wenn ich auf den Button drücke, diese Eigenschaft auch geändert wird, bzw. der Wert im Datenfeld der Tabelle.

    Hier mal ein paar Screenshots:



    Code für den Datensatz Filter:

    Quellcode

    1. Filter('[dbo].[Employee]'; SurName in Text(User().FullName) )

    Code für den Button Text:

    Quellcode

    1. If(Present;"Abmelden";"Anmelden")


    Das funktioniert auch soweit, wenn die App gestartet wird, werden vom angemeldeten User das Icon und der FullName abgerufen.
    Der Datensatz wird auf den angemeldeten User gefiltert und der Button zeigt an ob er sich Anmelden kann (User ist Present=false) oder Abmelden (User ist Present=true).
    Nun fehlt mir aber der Code für die OnSelect des Button (also quasi das Click-Event) um den Status true/false wieder in den gefilterten Datensatz zurück zu schreiben.
    Ich hab es schon mit Update(), UpdateContext(), Patch versucht, aber leider keinen Erfolg gehabt.

    Über MSDN habe ich schon gesucht, dort sind zwar auch jede Menge Beispiele, aber diese nutzen alle die vorgefertigten Templates.

    Hat jemand nen Tip, wie ich das wieder zurück schreiben kann?

    Danke Euch
    Grüße Micha

    EDIT:
    ich habs dann doch selbst hin bekommen.
    Wenn man vom Standard abweicht, muss man den Patch Befehl nutzen um Daten ohne EditForm zurück zu schreiben.
    Mit diesem Code funktioniert dies:

    Quellcode

    1. Patch('[dbo].[Employee]';First(Filter('[dbo].[Employee]';EmployeeID = Value(catPresentDetail.Selected.EmployeeID)));{Present:If(Present;false;true)})

    Ich guck jetzt mal, ob ich den Patch noch vereinfachter bekomme....
    Danke fürs reinschauen...

    "Hier könnte Ihre Werbung stehen..."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()