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!
Solved! Go to Solution.
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,
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:
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...)
Easily doable and I have created a new screen and linked it to the Check Out button
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!
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.
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)
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)
Best regards,
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
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!
User | Count |
---|---|
252 | |
104 | |
94 | |
50 | |
39 |