cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
borowiakn
Helper I
Helper I

Having some issues with LastSubmit variable being passed over to another form that is using a different DataSource.

Hi there,

Having some issues with LastSubmit variable being passed over to another form that is using a different DataSource.

I have two Datasources and three forms. Two of the forms use the same datasource and the other form uses a different datasource. I set a variable of the first form to get the LastSubmit.ID of that form and then I use that for the other form that uses a different datasource. FormMode = New, a new form is submitted at the Personal Info screen. Then the user continues to fill out the form and depending on their answers, it will either take them to another screen that uses the third form that uses a different datasource OR it will use the answers they submitted in the subsequent screens and put their answers on a form that uses the same datasource as the first submitted form that is housed on its own screen. The problem is, that when the user attempts to enter their information and submit the thrid form, the column I try and match on is being set to 0 instead of the ID of the first submitted form, which should be using the variable that I set on the first SubmitForm button.

**Note I am no longer getting the error message that is in the GIF.**

Here is a link to the GIF workflow for this app.
https://streamable.com/k4seli

18 REPLIES 18
borowiakn
Helper I
Helper I

@WarrenBelz - I believe I didn't Publish your changes in the app, so I republished the app and ran it again with different results from above.

1. New Form > Fill out fields in Personal Info Screen > Submit > ScreeningForm is submitted Successfully. 

(Confirmed validation as I receive an email notifying me that it has been successfully submitted)

2. Continue onto the QuestionsForm > Fill out fields in the corresponding fields that DO NOT take me to the Contact Tracing Screen > Submit > ERROR: There was a problem saving your changes. The data source may be invalid.


Going to wait to hear back from you so we can stay focused on one issue at a time.

 


@borowiakn ,

This is now getting way beyond the scope of your question which was about the LookUp not returning the value you wanted. We are now debugging a program that I have cannot see or understand all the connections and logic. So please focussing on that matter, does setting the Variable at both Gallery OnSelect and Form OnSuccess as per my last post set the variable to the ID you need to both set new records and display existing ones linked to the current record?

I am happy to help further, but I may not have the time for a little while and this may have to be a Teams screen share. What time zone are you in?

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

 

borowiakn
Helper I
Helper I

@WarrenBelz - My apologies. 

"...does setting the Variable at both Gallery OnSelect and Form OnSuccess as per my last post set the variable to the ID you need to both set new records and display existing ones linked to the current record? " - I added two text fields, one on the Personal Info screen and the other on the Screening Questions screen, changed the Default = lastID. The Personal Info screen is grabbing the lastID from the BrowseGallery1_1 however, after I submit the Form from the Personal Info screen and navigate to the Screening Questions screen, the lastID is showing No value

 

Also, I am in the CST time zone. I know you're in Queensland, Australia...would love to do a Teams session if possible.

@borowiakn ,

What form is on the Personal Info Screen? As I mentioned, you need to put this on the OnSuccess

Set(lastID,Self.LastSubmit.ID)

then it will set lastID to the ID of the form it just submitted. You are 16 hours behind me, meaning it is currently just before 3am?

The critical thing now is to get lastID to always reflect the ID of the current item being worked on. All should be straight forward after that. You should not need Variables for the state of the form - you can call EditForm() or NewForm() directly depending on the need at the time.

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.



@WarrenBelz, - The form is called the ScreeningFormI entered your code from above to the OnSuccess of that form, (Not sure this matters) BUT I still have code on the Submit.OnSelect on the Personal Info Screen that has the ScreeningForm on it that may be fighting the lastID variable.

 

Submit.OnSelect

 

SubmitForm(ScreeningForm);
Reset(Status_Dropdown);
Reset(Reason);
Reset(Type);
Reset(EmergencyContact);
Reset(DatePicker2);
Reset(ProjectName_Dropdown);
Reset(ProjectNumber);
Reset(RoleDropDown);
Reset(PhoneNumber);
Reset(WorkerName);
Reset(CompanyName);
Reset(Emergency_Contact_Number);
Reset(office_jobsite);
Reset(office);
Reset(other_craft_field);
Reset(Non_Clayco_Dropdown);
Set(lastID,ScreeningForm.LastSubmit.ID);
Set(LastContactID,ScreeningForm.LastSubmit.ID);
ResetForm(ScreeningForm);


If(Reason.Selected.ProductName="Travel" || ReasonView.Text= "Travel", Navigate(Travel_Info),Navigate('Screening Questions'));
Set(varMode,"New");
Refresh('[dbo].[COVID_Screening_Form]');

 

 



Should I remove that code and keep your OnSuccess code you told me to enter?

Thanks.

Updated the Submit.OnSelect and commented out the code...still isn't passing the lastID over when navigating from the Personal Info screen over to the Screening Questions screen.

 

Set(varLoad,true);
SubmitForm(ScreeningForm);
If(Reason.Selected.ProductName="Travel" || ReasonView.Text= "Travel", Navigate(Travel_Info),Navigate('Screening Questions'));
/*Set(varMode,"Edit");*/
Reset(Status_Dropdown);
Reset(Reason);
Reset(Type);
Reset(EmergencyContact);
Reset(DatePicker2);
Reset(ProjectName_Dropdown);
Reset(ProjectNumber);
Reset(RoleDropDown);
Reset(PhoneNumber);
Reset(WorkerName);
Reset(CompanyName);
Reset(office);
Reset(office_jobsite);
Reset(other_craft_field);
//Set(lastID,ScreeningForm.LastSubmit.ID);
//Set(lastID,QuestionsForm.LastSubmit.ID);
//Set(lastID,Contact_Tracing_Form.LastSubmit.ID);

ResetForm(ScreeningForm);

Refresh('[dbo].[COVID_Screening_Form]');
Set(varLoad,false);

 

@borowiakn ,

Yes, setting the Variable needs to go on OnSuccess - on a new form that is the only way you can catch it other than referring to LastSubmit later on. The rest does not matter.

Can you please send me your email via Private Message - I may be available sometime tomorrow afternoon (my time), so it will be later Monday night for you.

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

Hi @borowiakn ,

As per our Teams session, can you please accept this as solved so it can be closed and allow other people to find it more readily. 

Great chatting and working with ya @WarrenBelz!

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 (6,171)