Only reserve items that are available
This app shows how you can make a library/rental type app. In this case, we've got a table of equipment and a table of reservations. You can reserve an item, but only for a date range that doesn't already have a reservation for that item.
Also see: tablet mode & fullscreen mode
How we built this app
The key piece of this app is the "Item Available" column in the Reservations table. This column uses an app formula to count the number of reservations for the chosen item in the chosen date range, and checks to see that it's zero: COUNT( SELECT( Reservation[Reservation Id], AND( [_THISROW].[Equipment Choice] = [Equipment Choice], [_THISROW].[End Date] >= [Start Date], [_THISROW].[Start Date] <= [End Date] ) ) ) = 0 Once we have that column in place, we can use simple valid_if formulas to make sure the chosen date range is valid. We also added a show-type column to display a message when the chosen date range is not valid.
This is a preview of the data sets used in the app.
This is a high-level model of both the data entities and the UI elements in the app.