Hi thunter,
UpdateContext() is used to set a temporary variable on the current screen, that is local to that screen. It will only update the variable in the PowerApps session, not update the source, (which in this case I'm assuming to be your Excel sheet).
To update the source, you need to either use an Edit form and a Submit() function, or a Patch() function.
If you use an Edit form, you can then also use the OnSuccess: property for the form to send your email, this makes sure it only sends the email if the update succeeds.
Assuming for now you're not using a form, your Patch() statement would look something like this;
Patch(ExcelSource, RowToUpdate, {Status: "Approved"})where RowToUpdate is a function that returns the specific row you want to update - this may be a LookUp(), or, in the context of a Gallery item, assuming the button you're pressing is inside the Gallery item, you can just use ThisItem
As for the screens, you can't control whether a screen is 'visible' or not - only controls and elements on the screen carry this property. If you're using a Gallery or something similar to display data on the screen, then you would typically just filter the data according to the Status for that Gallery on that screen - so a Gallery displaying data on your PendingRequests screen might have its Items: property set to;
Filter(ExcelSource, Status="Pending")
whereas on your ApprovedRequests screen the Gallery showing the data for that screen might have its Items: property set to;
Filter(ExcelSource, Status="Approved")
Not sure if this helps you, perhaps you can provide some screenshots for additional context to help determine the best solution?
Kind regards,
RT