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

Check in and check out app importing and feeding responses back in to the same sharepoint list

Hi everyone,

 

I am new to sharepoint and powerapps and I'm in the process of creating the above app. I have managed to create a check in app which pulls up a sharepoint list and with the submitform function saves the data back to the list. Participants enter information in to a conditional powerapps form and that populates the fields in the sharepoint list. It also collects their expectations for the session.

 

I would also like to add a check out component where they answer post sessions questions. They would have to have checked in to check out and be able to answer questions without having to re enter all their details from the check in. I would like both the check out and check in components to be recorded as a single record on the sharepoint list (1 row).. 

 

Would this be possible? My apologies in advance if the scenario is unclear and I'm happy to answer further questions about it.

 

Thanks in advance!

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @snan004 ,

Q1

I use text in textinput to set a variable. Name is variable.

Please refer set function :

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-set

Q2

Then you could filter based on this 'You are a:' field, like this:

Set(role, 'You are a:' textinput.Text);
SubmitForm(Form1);
If(
CountRows(Distinct(Filter(Participants,'What is your name?'=name), 'You are a:' ))>1,
RemoveIf(Participants,'What is your name?'=name,Not( 'You are a:' =role)
)

//role is another variable that I set, use text in yourarea textinput. Please replace with your textinput name.

 

 

Best regards,

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

View solution in original post

17 REPLIES 17
PowerAddict
Super User II
Super User II

Definitely doable. You would want to expand the columns in your current list to accommodate for check out times and questions/answers that you want to store. You can then check to see if the check in columns have values for a given user, and if yes, then expose the check out screen along with questions using the same row/ID so they dont have to enter their details again.

Does this sound like a good approach?

---
If you like this reply, please give kudos. And if this solves your problem, please accept this reply as the solution.

Thanks!
Hardit Bhatia
https://thepoweraddict.com

Thanks very much for the quick response.

 

Definitely doable. You would want to expand the columns in your current list to accommodate for check out times and questions/answers that you want to store.

 

This is definitely doable as I can add additional columns to my original sharepoint list.

 

You can then check to see if the check in columns have values for a given user

 

How do I check this? I have included a screenshot of my sharepoint list just so you have a better idea

 

, and if yes, then expose the check out screen along with questions using the same row/ID so they dont have to enter their details again.

 

I have included a screenshot of my welcome screen and the form - as you can see on submit the above list is populated. I'd like to somehow connect that same form (exclude these questions) with additional questions in an additional screen perhaps? Maybe include a search function where they can look up their name (since they have already signed in) and then answer additional questions and submit a second time to the same record..

 

Maybe you could point me in the direction of what functions I could use or an explanation/help link for them?

 

Thanks so much again!

So here is a high level design:

  1. Use your current Welcome and Check In screen for a user to enter their name & other details
  2. This will create a record in your SharePoint list
  3. On your Welcome screen, provide another button that says Check Out
  4. When the user clicks on the Check Out button, take them to a screen where they can search their record by entering their name
  5. You can then use a Search or LookUp function to find the record from your SP list where Name = what the user entered
  6. After the user enters their name, and selects a button, take them to another screen which will be similar to your Check In screen
  7. However, in this screen, you will have an edit form, Default Mode = Edit, and Items property set to the record you just looked up. This will ensure you are updating the same record and not creating a new one. 
  8. In this form though, you will only expose the fields that are appropriate to the check out process
  9. Provide a Submit button just like the one you have on your Check In screen to allow the user to submit the form using the SubmitForm function. 
  10. Once all of this is done, you can navigate the user to a confirmation screen if needed or back to the Welcome screen

 

Hope this helps. Let me know in case of any questions. 

 

---
If you like this reply, please give kudos. And if this solves your problem, please accept this reply as the solution.

 

Thanks!
Hardit Bhatia
https://thepoweraddict.com

Wow, thanks so much. This design is exactly what I need! I just have a few technical queries (as a PowerApps noobs...)

 

  1. Use your current Welcome and Check In screen for a user to enter their name & other details
  2. This will create a record in your SharePoint list
  3. On your Welcome screen, provide another button that says Check Out

Easily doable and I have created a new screen and linked it to the Check Out button

  1. When the user clicks on the Check Out button, take them to a screen where they can search their record by entering their name
  2. You can then use a Search or LookUp function to find the record from your SP list where Name = what the user entered

Ah, here I feel like I may not have explained properly before. The participant list is not a set list - i.e, it is not definite (I don't know the attendees before the event). So for the search function (which I assume I include as an Input text box?) = Name, I would have to manually type in the names of all the participants so that when they type their names it would appear? 

 

e.g. Person A enters details and submits (check in), Person A has to search for their name on the automatically populated list from submission, select and then edit record to add to it and then resubmit to update record (check out). 

 

Thanks so much again for your patience!

 

Or dont provide the search functionality. Just check the current logged in user using the User() function and then fetch the row that has the same username. The rest of the approach is similar to what I have outlined before.

Let me know if there are any more questions.

---
If you like this reply, please give kudos. And if this solves your problem, please accept this reply as the solution.

Thanks!
Hardit Bhatia
The Power Addict
https://thepoweraddict.com

Thanks again.

 

I'm afraid I am too new to Powerapps to figure out all the necessary code so quickly!

 

Instead of a search or look up function, would it be possible to include a list (through a gallery perhaps?) of all the users who are checked in and then the user can select their name from this list? Then it would go to an edit form where I only include the required fields for the check out process. 

 

If the lookup is a better option how do I set this up exactly? For example the user will select the check out button on the welcome screen and it would take them to a screen where they have to search/look up their name - do I set this up as an Input Text box? And what function and code would I use? For example, I insert the text box, chose OnSelect and then the user function (attached SS - participants is the sharepoint list which has been populated by check in and what is your name is the column with all the names).

 

If I manage to do this then do I insert another form (EditForm) and use the same list as an input for that? So the selected name above leads to the new list with fields they already filled out at check in hidden and only the relevant check out fields available? So the Form will have two separate names (Form1 on the check in screen and EditForm1 on the check out screen - the default mode is Edit on both)

 

Thanks so much!

Hi @snan004 ,

Do you want to have a check in/out apo?
Based on your description, I've made a similar test for your reference:

1)in welcome screen

insert a textinput( to enter name), a check-in button, a check-out button

set check-in button's OnSelect:

Patch(datasource,Deafults(datasource),{Name:TextInput1.Text});Navigates(checkinscreen)

 set check-out button's OnSelect:

If(IsEmpty(LookUp(datasource,Name=TextInput1.Text),
Notify("you haven't checked in"),
Navigate(checkoutscreen)
)

//please replace with your data source name and field name

Please notice required column in your data source.

Firstly, you need to enter name in the textinput manually. (since you do not know the user's name before)

Then, if you want to check in, click the check in button. You will create a new record for this user and navigate to checkinscreen.

If you want to check box, click the check out button. If you have already checked in, you will navigate to checkoutscreen. Or else you will get a warning.

462.PNG

 

2)in checkinscreen

Insert an edit form, set its data source to your data source, set its Item:

LookUp(datasource,Name=TextInput1.Text)

choose the fields that you want user to fill in when checking in 

insert a button to submit the form, set the button's OnSelect:

SubmitForm(Form1)

463.PNG

 

3)in checkoutscreen

Insert an edit form, set its data source to your data source, set its Item:

 

LookUp(datasource,Name=TextInput1.Text)

 

choose the fields that you want user to fill in when checking out 

insert a button to submit the form, set the button's OnSelect:

 

SubmitForm(Form2)

 

464.PNG

 

 

Best regards,

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

Hello @v-yutliu-msft 

 

Thanks so much - this seems perfect for what i need.

 

A quick question as I get it going - I don't quite understand the Name input in the 

Patch(datasource,Deafults(datasource),{Name:TextInput1.Text});Navigates(checkinscreen)

I created a text in put box and entered my data source but I am not sure what the Name: is in the formula? I have attached a screenshot.

 

What do you mean by a required column in my original data source - do I have to enter a new column labelled <name> which is a compulsory response? At the moment it is ''What is your name?" in the list and I entered that but the formula gives me an error? Must i make it a required column?

 

Apologies for the questions, I am very new to writing code and powerapps!

 

Thanks again

@v-yutliu-msft 

 

Just to clarify again, my data source is not populated i.e. it's the check in process that populates it by creating a new record with each check in. So a name look up doesn't work as there are no names on the list for it to match . I hope that's not confusing! It's very difficult to explain all the tiny moving parts!

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Carousel April Dunnam Updated 768x460.jpg

Urdu Hindi D365 Bootcamp

Dont miss our very own April Dunnam’s The Developer Guide to the Galaxy! Find out what the Power Platform has to offer for the traditional developer.

Top Solution Authors
Top Kudoed Authors
Users online (2,440)