cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ricky23
Advocate II
Advocate II

Is it possible to split the Edit Form into multiple screens?

We are trying to save the data entered in the PowerApps Form to a SharePoint List. Now when we Insert an Edit Form to the screen, it shows all the fields from the list under one screen. Is it possible to have some fields from the list show up in another screen? 

 

If we try to create a new screen and Insert an Edit Form, the entries would show up as two Items in the list since there are two Edit Forms one for each screen. Is it possible to have one edit form for multiple screens so that all the entries from the form get saved as one list Item?

 

 

21 REPLIES 21

@Anonymous First I added a Data Source then I activated the Insert tab ->Forms->EditForm and under the properties pane, selected the data source.

 

Here is my SharePoint ListList.PNG

 

v-xida-msft
Community Support
Community Support

HI @ricky23 ,

Do you want to split the Edit form into multiple screens, and submit all Edit forms data into single one item in your SP list once time?

Based on the needs that you mentioned, I think PowerApps could achieve your needs. On your side, you could consider take a try to add one Edit form (Form1, Form2, Form3, ...) within each screen you want to display form data. Set the FormMode property of All Edit forms to FormMode.EditWithin each Edit form in multiple screens, enable proper Data cards you want to display.

Then add one "Next" button within each screen except for the last screen (which contains the Edit form), set the OnSelect property to following:

Navigate(NextScreen, ScreenTransition.Fade)

Within the last screen which contains the Edit form, add a "Submit" button, set the OnSelect property of the "Submit" button to following:

Patch(
   'YourSPList',
    Defaults('YourSPList'),
    Form1.Updates,
    Form2.Updates,
    Form3.Updates,
    Form4.Updates,
    ...
)

More details about split Edit forms into multiple screens, and submit all Edit forms data into single one item in your SP list once time, please check and see if the response within the following thread would help in your scenario:

https://powerusers.microsoft.com/t5/Creating-Apps/Multiple-screen-app-looks-nice-for-the-user-proble...

 

https://powerusers.microsoft.com/t5/General-Discussion/Save-data-to-SharePoint/m-p/152242/highlight/...

https://powerusers.microsoft.com/t5/Creating-Apps/Multiple-forms-to-one-item-sharepoint-list/m-p/142...

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @v-xida-msft , 

I'm working throught your suggestion above and have observed the following:

When using Patch to submit multiple forms, the OnSuccess/OnFailure logic needs to be handled differently. 

Example: I tried putting this on both forms OnSuccess, but it does not catch an error (Required field not populated). 

If(
And(
IsBlank(frm1.Error),
IsBlank(frm2.Error)
), Navigate(scr_success, Cover), false
)

Do you have any insights on how to tie the forms OnSuccess/OnFailure logic together? 

Thank you

 

but how can i save edited data form the patch function inserted a new row.but i want to update the data how can do.can you please share the code?


 

Many thanks!

 

   This worked great for me for new records, as I know the Patch(Defaults) creates a new record. What should be used when editing an existing record from the gallery? The same Patch(Defaults) call, I found, would create a new merged record with data from the original item combined with changes, and leave the original one alone. Any suggestions for a newbie?

 

Thank you, in advance!

 

Steve in Spain

Hi Steve

 

The patch solution didn't work for me either.

In the end I tried this and it worked

(Note: in my case these are forms on different data cards not screens (selected using tabs) but its worth a try on screens if thats how your forms are distributed)

 

In the OnSelect property of the save Button use the following,

Submitform('Name of first form');Submitform('Name of first form');Submitform('Name of first form')

 

This seems to work even if you copy the button to different cards

 

jesleodun
New Member

Hi all - apologies for bringing up an old thread. I am using the suggestions above to spread my Edit Form fields across multiple screens. The solution of using Submitform('Name of first form');Submitform('Name of second form');Submitform('Name of third form') is working, except for the last form to be submitted. In this case, the last form clears its contents before the submission goes through, resulting in a blank return. This is the case even if I change the order in which the forms submit - it is always the last form which clears. Any ideas why this could be happening? Thank you from a newbie! Just started using PowerApps today!!! 

If I want to edit the form values and save the datas in same row....Then how can we achieve this.......

 

For better understanding:

I have added multiple forms for filling the data and submit all the forms at a time using above patch function......If I need to edit the submitted data without adding as a new row in dataverse what can I do......Thanks in advance 

Hi, thanks for your solution, In our case, we have multiple forms in single screen and each form is linked to different tables in datasource and working fine, but if i want to enter only details in form 1 for now and later enter remaining details in other forms, it should save in a single record - how to achieve this?

Hi @xprt00707 

If you want to update the records in your dataverse without taking a new row whenever you are submitted the form ....You just need to give the condition for storing the data.....

 

Means ....If the particular record is already there in dataverse you just need to update the record  through the patch function otherwise it will create a new record .

 

Example : Consider you have one field ....like Employee name in form1....now you give the condition like....

 

If( txtfield.Text in DataverseTableName.Columnname , Through patch function update the record , otherwise Create a record in dataverse through the patch function)

 

Here txtfield means the name of the textfield for enter the employee name in form1

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

May UG Leader Call Carousel 768x460.png

June User Group Leader Call

Join us on June 28 for our monthly User Group leader call!

PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

PA.JPG

New Release Planning Portal (Preview)

Check out our new release planning portal, an interactive way to plan and prepare for upcoming features in Power Platform.

Top Solution Authors
Users online (2,193)