web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Check in/Check out app...
Power Apps
Answered

Check in/Check out app from a sharepoint list

(0) ShareShare
ReportReport
Posted on by 30

Hi everyone,

 

I am in the process of creating a check in\check out app for events run by my unit. These events will be attended mostly by internal staff but there will be a few externals. The premise is that records will be created in the sharepoint list by an email lookup (for internals) and typing in the email for externals. Users will be able to create a record at check in, submit, and edit that record at check out and resubmit for the final time. Users will have different questions to answer at the check in and check out process so at the end there should be one record for each user with the check in and check out sections completed. I would like only checked in users (users that have created a record) to be able to check out. Perhaps the check out section could also be an email look up where your email only appears if you have checked in.

 

At this stage I have three screens:

 

1. Welcome Screen (Image1): option to check in or check out

2. Check In Screen (Image 2): Form feeding in to the sharepoint list where a record is to be created by checking in 

3. Check Out Screen (Image 3): Form where a created record is looked up, edited and resubmitted.

 

Would this be possible or is it a huge leap?! I'm fairly new to Powerapps and would very much appreciate any advice you might have! 

 

Thanks so much!

 

Charith

Image2.JPG
Image3.JPG
Image1.JPG
Categories:
I have the same question (0)
  • Verified answer
    v-bofeng-msft Profile Picture
    Microsoft Employee on at

    Hi @snan004 :

    I'm not sure if my understanding is correct.

    Could you help me confirm whether my understanding is correct:

    About your data source:

    Data source 1:maindatasouce

    Field name

    Filed type

    Internal_email_lookup

    Lookup

    EventName

    choice

    YouAreHereTo

    choice

    YouAreA

    choice

    Twitter

    Text

    HowLikely

    choice

    Wouldyou

    Yes/No(defaut:yes)

    Data source 2: Internal_email

    Field name

    Filed type

    Internal_email

    Text

    About the attachments:

    1\Screen1:

    Button1(Check in):navigate to screen2

    Button2(Check out):navigate to screen3

    2\Screen2:

    Form1:a form in New mode.

    Button3(Check in): submit Form1 then navigate to screen3

    3\Screen3:

    Form2:a form in Edit mode.

    Button4(Check out): submit Form2.

    About the Features:

    1If the user selects check in button, then jump to screen 2 to create a new record ("Wouldyou ..." field defaults to true), and then jump to screen 3 to select whether the "Wouldyou ..." field should be marked as false. By default, the form selects the record recently created by this user.

    2If the user selects check out button, then jump to screen 3. By default, the form selects the record recently created by this user.

    I assume the above assumption holds.

    Ive made a test for your reference:

    1\Screen1

    Button(Check in):

    OnSelect:

     

     

    Navigate(Screen1)

     

     

    Button(Check out):

    OnSelect:

     

     

    Navigate(Screen3)

     

     

    DisplayMode:

     

     

    If(IsBlank(LookUp(maindatasouce,User().Email='Created By'.Email)),Edit,Disabled) /* Users who have not created a record cannot select this button*/

     

     

    2\Screen2

    Form1:

    DataSource: 

     

     

    maindatasouce

     

     

    DefaultMode:

     

     

    New

     

     

    Button(Check in):

    OnSelect:

     

     

    SubmitForm(Form1);Navigate(Screen3)

     

     

     

    Attachment:Screen2.jpg

    3\Screen3

    Form2:

    DataSource: 

     

     

    maindatasouce

     

     

    DefaultMode:edit

    Item:

     

     

    LookUp(
     Sort(
     maindatasouce,
     Created,
     Descending
     ),
     'Created By'.Email = User().Email /* Search the latest record created by the current user*/
    )

     

     

    Button(Check Out):

    OnSelect:

     

     

    SubmitForm(Form2);

     

     

    DisplayMode:

     

     

    If(IsBlank(LookUp(maindatasouce,User().Email='Created By'.Email)),Edit,Disabled) /* Users who have not created a record cannot select this button*/

     

     

     Attachment:Screen3.jpg

    Result:

    Attachment:result.jpg

     
     

    Best Regards,

    Bof

    result.jpg
    screen2.jpg
    screen3.jpg
  • snan004 Profile Picture
    30 on at

    Hi @v-bofeng-msft - thanks very much for your reply!

     

    Could you help me confirm whether my understanding is correct:

     

    About your data source: 

     

    My data source is a share point list with conditional fields - certain fields are visible depending on selections to drop down questions.

    Data source 1:maindatasouce

    Field name

    Filed type

    Internal_email_lookup

    Lookup

    EventName

    choice

    YouAreHereTo

    choice

    YouAreA

    choice

    Twitter

    Text

    HowLikely

    choice

    Wouldyou

    Yes/No(defaut:yes)

    Data source 2: Internal_email

    Field name

    Filed type

    Internal_email

    Text

    About the attachments:

    1\Screen1:

    Button1(Check in):navigate to screen2

    Button2(Check out):navigate to screen3

    2\Screen2:

    Form1:a form in New mode.

    Button3(Check in): submit Form1 then navigate to screen3 - 

     

    After the check in step (submit form 1, it would navigate back to the welcome screen (check out will happen at the end of the event)

     

    3\Screen3:

    Form2:a form in Edit mode.

    Button4(Check out): submit Form2.

     

    Clarification about the Forms - it's the same form on both the check out and check in screens (from the same sharepoint list), with different fields visible depending on the section. I did not know how to include the same form across multiple screens so I did the above

    About the Features:

    1If the user selects check in button, then jump to screen 2 to create a new record ("Wouldyou ..." field defaults to true), and then jump to screen 3 to select whether the "Wouldyou ..." field should be marked as false. By default, the form selects the record recently created by this user. - After creating a new record (submitform in check in) it would jump back to the welcome screen

    2If the user selects check out button, then jump to screen 3. By default, the form selects the record recently created by this user.

    I assume the above assumption holds.

    Ive made a test for your reference:

    1\Screen1

    Button(Check in):

    OnSelect:

     

     

    Navigate(Screen1)

     

     

    Button(Check out):

    OnSelect:

     

     

    Navigate(Screen3)

     

     

    DisplayMode:

     

     

    If(IsBlank(LookUp(maindatasouce,User().Email='Created By'.Email)),Edit,Disabled) /* Users who have not created a record cannot select this button*/

     

    Could you clarify who you mean by  User here?  The app has to be available for both internal and external users and the app would be available to people through a communal device so I would be logged in (through my user account) and people arriving will be filling it in (they will not be 'logged in' so to speak). So the 'created by' field in the sharepoint list will always be me. Except for when the users will have a link and be able to log in to the portal to access the app. I would like it to have both options (for internals and externals..)

     

    2\Screen2

    Form1:

    DataSource: 

     

     

    maindatasouce

     

     

    DefaultMode:

     

     

    New

     

     

    Button(Check in):

    OnSelect:

     

     

    SubmitForm(Form1);Navigate(Screen3)

     

     

     

    Attachment:Screen2.jpg

    3\Screen3

    Form2:

    DataSource: 

     

     

    maindatasouce

     

     

    DefaultMode:edit

    Item:

     

     

    LookUp(
     Sort(
     maindatasouce,
     Created,
     Descending
     ),
     'Created By'.Email = User().Email /* Search the latest record created by the current user*/
    )

     

     

    Button(Check Out):

    OnSelect:

     

     

    SubmitForm(Form2);

     

     

    DisplayMode:

     

     

    If(IsBlank(LookUp(maindatasouce,User().Email='Created By'.Email)),Edit,Disabled) /* Users who have not created a record cannot select this button*/

     

     

     

  • v-bofeng-msft Profile Picture
    Microsoft Employee on at

    Hi @snan004 :

    Firstly,I suggest that you set Internal_email_lookup to Text type then make users directly filter their email address to find the corresponding record, and then modify the record.
    Reason:
    1. If users are allowed to create new records freely, there is no guarantee that the same user will not create multiple duplicate records.(Data uniqueness)

    2.If a person has created multiple records, it will be very troublesome to find out which record need modify.(Data retrieval)

    2.You can't tell who is the external staff and which part is the internal staff.
    Secondly,I suggest you use the registration login mechanism.

    the reason:
    1.Because of the use of public equipment, it is impossible to distinguish the user ’s identity through ‘Creat by’.Using the login system, you can distinguish between internal and external employees.

    2.Through account authentication, you can additionally grant internal employees the authority to create new records.

    About establishing a login system,I think this link will help you a lot:

    https://powerusers.microsoft.com/t5/Building-Power-Apps/How-to-check-list-CDS-entity-list-in-powerapps/td-p/511721

    Best Regards,

    Bof

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Vish WR Profile Picture

Vish WR 610

#2
Haque Profile Picture

Haque 317

#3
WarrenBelz Profile Picture

WarrenBelz 315 Most Valuable Professional

Last 30 days Overall leaderboard