Hello everyone in the PowerApps Community,
The app I'm developing in PowerApps consists of a series of forms distributed across different screens which users can edit and access later to add new information. The information that the user has entered is stored in an SQL Server table.
I'd really want users to get redirected automatically where they left the form. In other words, once the user selects an element to edit (which corresponds to a row in SQL Server) I want them to get to the screen where the first empty input field (based on what was stored to the database) is.
My initial approach was to build a relationship between fields and screens so that I know what screen to navigate to once I know that field X is the first that was left empty. However, I'm having a hard time getting that field/column name.
Any thoughts on this? How would you implement this? Is there a more efficient approach?
Thanks in advance!
Solved! Go to Solution.
Hi @PowerAppsDaniel ,
Did you mean that you have multiple screens with multiple edit forms? If so, then you could set something like below formula in the OnSelect property of the edit button to achieve this:
If(IsBlank(DataCardValue1)||IsBlank(DataCardValue2)||IsBlank(DataCardValue3),Navigate(EditScreen1,None), IsBlank(DataCardValue4)||IsBlank(DataCardValue5)||IsBlank(DataCardValue6),Navigate(EditScreen2,None), IsBlank(DataCardValue7)||IsBlank(DataCardValue8)||IsBlank(DataCardValue9),Navigate(EditScreen3,None))
DataCardValue1/2/3 are inside the edit form in EditScreen1, DataCardValue4/5/6 are inside the edit form in EditScreen2 and DataCardValue7/8/9 are inside the edit form in EditScreen3.
Regards,
Mona
Hi @PowerAppsDaniel ,
Did you mean that you have multiple screens with multiple edit forms? If so, then you could set something like below formula in the OnSelect property of the edit button to achieve this:
If(IsBlank(DataCardValue1)||IsBlank(DataCardValue2)||IsBlank(DataCardValue3),Navigate(EditScreen1,None), IsBlank(DataCardValue4)||IsBlank(DataCardValue5)||IsBlank(DataCardValue6),Navigate(EditScreen2,None), IsBlank(DataCardValue7)||IsBlank(DataCardValue8)||IsBlank(DataCardValue9),Navigate(EditScreen3,None))
DataCardValue1/2/3 are inside the edit form in EditScreen1, DataCardValue4/5/6 are inside the edit form in EditScreen2 and DataCardValue7/8/9 are inside the edit form in EditScreen3.
Regards,
Mona
Hello @v-monli-msft ,
Thank you so much for you reply.
I've tried your approach with a few screens and it works. However, since I have a ton of screens and fields I was hoping for something less tedious like looping through the database table columns and getting the first blank column and redirecting the user to the screen based on a dictionary-like data structure.
I'll give it a couple days in case anyone else responds and then I'll accept it as a solution.
User | Count |
---|---|
198 | |
124 | |
88 | |
48 | |
41 |
User | Count |
---|---|
278 | |
166 | |
138 | |
82 | |
76 |