The only thing that comes to my mind is opening the permission form as an input box from within the main form open event and cancelling the main open if the input doesn't pass validation. Input boxes are supposed to suspend code execution while waiting for a response, which has been my experience. However, I have only used them once or twice, but never to hold off opening a form or report. My approach has always been to hide buttons or menu items based on user permission levels so they're not even seen by users who shouldn't be able to use them.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.