web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / How do I make an edit ...
Power Apps
Answered

How do I make an edit form enter data as a new record?

(0) ShareShare
ReportReport
Posted on by 634

I have 4 forms (Form1, Form 2, and Form 3) on a single screen. The values in these first 3forms populate Form 4 which is then submitted when the 'Submit' button is clicked. Now, these forms are always in edit mode regardless of whether I am creating a new record or editing one. I'm using a variable called glbFormData for this. This is set to Defaults(datasource) for a new record or has the values of a record for editing. What I am attempting to do is to build a 'copy' functionality. This is similar to editing a record but instead populating the forms with the saved record and submitting the changes as edits I want to submit the form as a new record. I haven't figured out quite yet. I've tried setting a 'copy' variable and changing the mode of the form to 'new' but that just removes all values from the fields. It seems like there should be a way to do this relatively easy. Something like

 

If varCopy = true then submit the form data as a new record else SubmitForm.

 

Make sense?

Categories:
I have the same question (0)
  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @Future_Vision 

    Change the Item property of your Master Form to the following:

       Patch(glbFormData, Form1.Updates, Form2.Updates, Form3.Updates, {ID:Blank()})

     

    This will then create a duplicate record with the information from the first.

     

    I hope this is helpful for you.

  • Verified answer
    Future_Vision Profile Picture
    634 on at

    @RandyHayes I knew there had to be a much easier way to make a copy. Banging on it to see if falls down anywhere. 

     

    Below is the code for other's reference. Replace recordID with the name of the column that holds the record's ID.

     

    If(varCopy=true, Patch(glbFormData, Form1.Updates, Form2.Updates, Form3.Updates, {recordID:Blank()}), Patch(glbFormData, Form1.Updates, Form2.Updates, Form3.Updates))

     

  • Future_Vision Profile Picture
    634 on at

    Just a quick note to anyone else trying this. Make sure you set varCopy back to false for edits. 

  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @Future_Vision 

    So this is not a SharePoint list then you are working with!?

     

    Your global variable already holds the record ID, there is no need for another variable to hold it duplicated.

    For a SharePoint list your formula should be the following:

    Patch(glbFormData, Form1.Updates, Form2.Updates, Form3.Updates, If(varCopy, {ID:Blank()}, {}))
  • Future_Vision Profile Picture
    634 on at

    It isn't a Sharepoint list. I'm using Dataverse(CDS).

  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @Future_Vision 

    Yep, figured that...just wanted to post the formula for others in case they were using SharePoint as in SharePoint, it is the ID that needs to be "blanked".

  • Future_Vision Profile Picture
    634 on at

    Great. Then I am all set with my formula. Much appreciated!

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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 551

#2
WarrenBelz Profile Picture

WarrenBelz 430 Most Valuable Professional

#3
Valantis Profile Picture

Valantis 298

Last 30 days Overall leaderboard