Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Apps - Microsoft Dataverse
Answered

Patch() identical named lookup columns in dataverse tables, using the context of an open form/modern commanding in model driven powerapps

(0) ShareShare
ReportReport
Posted on by 6

yozu_0-1703645384498.png

 

 

Want to create a Custom Command Button in the main form on CANDIDATE table, to copy Qualified candidates in the open form in a model drivel app, to Team table, upon Command button click. This is in the modern commanding in Model driven Powerapps (Not a Canvas app). This is a Dataverse table to table copy.

 

Both source and target tables have the same named lookup column "Country", and each is a lookup to the COUNTRY table by respective Candidate_Country and Team_Country relationships.

 

What is the Patch() expression that copies the current lookup value in CANDIDATE.COUNTRY to TEAM.COUNTRY, keeping in mind that the button is operating in the context of an open form/ selected record, and disambiguation may be required, given identical lookup column names?

 

Been banging my head on a wall and appreciate the community's help. Running into what I think are disambiguation issues. I tried with no joy:

Patch (TEAM, Defaults(Team),

{Country : CANDIDATE[@Country]}

)

Also had issues using a Lookup() and /or with disambiguation. Read through a lot of documentation and I either can get a direct answer, or examples related to canvas app collections, sharepoint, etc. This is a dataverse to table to table copy using a custom modern command which will have this patch statement in it. When user presses this command in an open form in a model driven app, the open [selected] record should copy over.

 

See screenshot for example.

 

Thanks in advance!

-yz

  • Verified answer
    ivan_apps Profile Picture
    2,187 Super User 2025 Season 1 on at
    Re: Patch() identical named lookup columns in dataverse tables, using the context of an open form/modern commanding in model driven powerapps

    Yea you have to pass in a ‘Record’ type value in the Patch. So instead of CANDIDATE[@Country] … you would put in ‘Self.Selected.Item.Country’

    Self.Selected.Item references the current open form so that’s what you are missing.

     

    now if for whatever reason Self.Selected.Items.Country doesn’t resolve to a ‘Record’ type, you would simply replace it with a Lookup(). For example:

    {Country : Lookup(Country, Name = Self.Selected.Item.Country.Name)}

     

    using the With() function is sometimes necessary to stage the lookup as a variable before executing the Patch command.

    ex:

    With(

    {

    varLookupResult: lookup(…) 

    },
    Patch([reference varLookupResult here])

    )

  • Jonathan Manrique Profile Picture
    2,678 on at
    Re: Patch() identical named lookup columns in dataverse tables, using the context of an open form/modern commanding in model driven powerapps

    Hi @yozu 

     

    It is a little simpler than it seems, but we must know how to combine the formulas and above all one that should be used is With


    I show you an example code that allows you to clone and another that allows you to create

     

    If(
     Confirm(
     "Desea duplicar el registro con los siguientes datos: " & "Alumno: " & Self.Selected.Item.Alumno.'Nombre completo' & Char(10) & "Programa: " & Self.Selected.Item.Programa & Char(10) & "Asignatura: " & Self.Selected.Item.Asignatura;
     {
     Title: "Duplicar registro Pago Matricula";
     Subtitle: "¿Está seguro que desea duplicar el registro indicado?";
     ConfirmButton: "Aceptar";
     CancelButton: "Cancelar"
     }
     );
     With(
     {
     newRecord: Patch(
     'Pago de Matriculas';
     Defaults('Pago de Matriculas');
     {
     Alumno: Self.Selected.Item.Alumno;
     Sección: Self.Selected.Item.Sección
     }
     )
     };
     Navigate(
     LookUp(
     'Pago de Matriculas';
     Código = newRecord.Código
     )
     )
     );Notify(
     "No ha creado ningún registro duplicado";
     NotificationType.Information;
     4000
     )
    )

     

     

     

    If(
     Confirm(
     "Desea Crear un Registro de Control Financiero para : " & Self.Selected.Item.Alumno.'Nombre completo';
     {
     Title: "Registro Control Financiero";
     Subtitle: "¿Está seguro que desea crear un (1) registro?";
     ConfirmButton: "Aceptar";
     CancelButton: "Cancelar"
     }
     );
     With(
     {
     ControlFinanciero: Patch(
     'Control Financieros';
     Defaults('Control Financieros');
     {Concepto: Self.Selected.Item.Nombre};
     {'Tipo de Registro': 'Tipo de Registro'.Ingreso};
     {'Tipo de Ingreso': 'Tipo de Ingreso'.'Pago de Inscripción'};
     {'Fecha Registro': Self.Selected.Item.'Fecha de pago'};
     {Monto:Self.Selected.Item.'Total Inscripción'};
     {'Pago de Inscripción': LookUp('Inscripción Programas';Inscripción = Self.Selected.Item.Inscripción)}
     
     )
     };
     With(
     {
     ActualizarInscripcion: Patch(
     'Inscripción Programas';
     Self.Selected.Item;
     {'Control Financiero': ControlFinanciero};
     {Estado:'Estado (Inscripción Programas)'.Inactivo};
     {'Razón para el estado':'Razón para el estado (Inscripción Programas)'.'Control Financiero'}
     )
     };
     With(
     {
     Navegar: Navigate(LookUp('Control Financieros';'Pago de Inscripción'.Inscripción=Self.Selected.Item.Inscripción))
     };
     ControlFinanciero
     )
     
     ));
     Notify(
     "No ha creado a ningún registro de Control Financiero";
     NotificationType.Information;
     4000
     ))

    You can adapt it to your needs, but the key is to use with and know how to relate the lookup fields

     

    If I have answered your question, please mark your post as Solved.
    If you like my response, please give it a Thumbs Up.
    You can accept more than one post as a solution

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

🌸 Community Spring Festival 2025 Challenge Winners! 🌸

Congratulations to all our community participants!

Warren Belz – Community Spotlight

We are honored to recognize Warren Belz as our May 2025 Community…

Leaderboard > Power Apps - Microsoft Dataverse

#1
mmbr1606 Profile Picture

mmbr1606 22 Super User 2025 Season 1

#2
stampcoin Profile Picture

stampcoin 17

#3
ankit_singhal Profile Picture

ankit_singhal 11 Super User 2025 Season 1

Overall leaderboard

Featured topics