@ngreen
You could PATCH the records as the user advances through each screen instead of using the SUBMIT function.
My assumption is you will be distributing this survey to members of your organization through email. When the user starts the survey you'll want to capture their email address. This unique identifier will be used to create the blank survey record. Put this code in the OnSelect property of your survey's start button.
Patch(
your_datasource_name,
Defaults(your_datasource_name),
{email:User().Email}
);
Then create your first screen containing survey questions. When you are done, put this code in the OnSelect property of the next screen button. Of course, you'll have to change the question numbers to match the column names you want to update.
Patch(
your_datasource_name,
LookUp(your_datasource_name,email=User().Email),
{question1:true,question2,false,question3:true}
)
Repeat this method on as many screens as you require.
You might be wondering why I am suggesting to create a new record right when the survey is started rather than wait until the end of the process. This is because I prefer to save the user's progress on each page. When a user is filling out a long form they may want to take a break or they may get interrupted so its a nice feature to have 
---
Please click "Accept as Solution" if my response helped to solve your issue so that others may find it more quickly. If your thought the post was helpful please give it a "Thumbs Up."