cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
SccP72
Frequent Visitor

How do I populate a new PowerApps form from last submitted form (SharePoint list)?

Hi all 

New to PowerApps, I have built a handover form for my team mates in PowerApps that works well but I would like to streamline it a bit.

At the moment they submit the form and start a new blank form, I would like to copy information from the last saved form to pre-populate different text fields in the new form.

This will save them from having to copy and paste the data across.

On submit the data is saved into a SharePoint list.

I have tried reseting card values but on submit it just overwrites the SharePoint entry with new card values and does not start a new entry.

 

Is this possible? 

If so any information would be great.

Thanks in advance 

1 ACCEPTED SOLUTION

Accepted Solutions
RandyHayes
Super User
Super User

@SccP72 

Yes, this is possible.  You will need to alter the Default property for each DataCard that you wish to exhibit this action.

In the default consider the following formula (again, applied to each data card where you need it):

If(
  !IsBlank(yourEditForm.LastSubmit.ID), yourEditForm.LastSubmit.yourColumnName,
  ThisItem.yourColumnName
)

Obviously, replace yourEditForm in the above with your EditForm name and yourColumnName with the name of the column you want to duplicate.

This assumes simple column types (text, number, etc). 

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

25 REPLIES 25
RandyHayes
Super User
Super User

@SccP72 

Yes, this is possible.  You will need to alter the Default property for each DataCard that you wish to exhibit this action.

In the default consider the following formula (again, applied to each data card where you need it):

If(
  !IsBlank(yourEditForm.LastSubmit.ID), yourEditForm.LastSubmit.yourColumnName,
  ThisItem.yourColumnName
)

Obviously, replace yourEditForm in the above with your EditForm name and yourColumnName with the name of the column you want to duplicate.

This assumes simple column types (text, number, etc). 

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Thanks for the quick reply 🙂 i will try it now.

Thanks again

 

Worked like a charm, after i worked out the need to save the form before the fields will fill 😉 

 

 

Anonymous
Not applicable

Hi there,

 

I know this thread is old but hopefully you see this.

 

I am looking to do the same thing as you and I changed the code as suggested by the other user. Whilst changing the default in the data cards the information from the previously submitted form appeared. I saved the app and the next day went to trial it but the data from the previously filled in for doesn’t appear anymore even after submitting the form?

 

Any help would be greatly appreciated.

 

Thanks,

Gemma

@Anonymous 

Yes, that is an old thread.  Are you still having the issue?  If so, I would start a new thread on the forum and reference this posting if it is relevant.  That will get you some quicker looks and results.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
malditoponi
Frequent Visitor

Hi All

 

Apologies this is an old thread and perhaps I should be using a new one. I have a similar situation described in this post and I tried the suggestion. This works well for text cards but it seems to fail for cards with combo boxes/drop downs and dates. 

 

I would be grateful if you could please share your approaches to move data from the previous form to the new one with other forms of data type.

 

Thank you very much for your help.

 

Regards

iwonder
Impactful Individual
Impactful Individual

Thank you so much for posting this @RandyHayes I've been trying to solve this on my own and finally came across this post! BRILLIANT! I just may be done work early today!

 

have a great weekend

RandyHayes
Super User
Super User

@iwonder 

Actually...times have changed. There's an even easier way.

 

If you are just wanting to populate the form with the last submitted data, then:

1.  Make sure the FormMode is Edit (and you will not use New any longer as it is not relevant)

2.  In your OnSuccess action of the form, the following formula:  Set(glbCurrentRecord, Self.LastSubmit)

3.  In the Item property of the form, the following:  Patch(Coalesce(glbCurrentRecord, Defaults(yourDataSource)), {ID: Blank()})

 

That is it!  Now when you go to the form for the first time, it will be a new form ready for input.  After you submit, the form will now be a New record as well, but all the fields will be filled in with the previous values.

 

Maybe with that, your work will be done even sooner!  

Have a great weekend as well.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
iwonder
Impactful Individual
Impactful Individual

Thanks again @RandyHayes 

 

I had just finished updating all my data cards... 🙂

 

I don't understand #3: Patch(Coalesce(glbCurrentRecord, Defaults(yourDataSource), {ID: Blank()})

 

Why do we Patch() in the Items of the Edit Form? Don't we only Patch() when saving a record?

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (4,976)