Yes, exactly, I just threw the response together real fast without testing it. I respond faster than I should without verifying if my idea will work / is correct.
Yes, I noticed afterwards that the form would still close if said no to it. I seem to do it a lot where I post something that sounds like the solution and have to go back later and realize what I wrote may not work 100% lol.
Hopefully you were able to do what you wanted with it.
You can also try as you said with the Unload action.
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo Err_Form_Unload
If MsgBox("Closing the switch board screen will Quit the entire system. Continue?", vbYesNo + vbQuestion + vbDefaultButton2, "Confirm Close") = True Then...
Just noticed a lot of this code will not apply to you. All that you would need to do is create a hidden form, and put it on a timer. When the timer runs, check if the switch board form is open, and if not, re-open it.
Another approach would be to have a hidden form that loads when the program is opened. It will cycle through on a timer that if it detects that the switch board form is closed, it will re-open it. I found this code online which I'm using to auto-close all forms on a database and log the user...
I would probably add VBA on the Form_Close event of the switchboard form you don't want closed. Create a global variable for QuitSystem. Create a Quit System button that sets the global variable to true. On the Form_Close event, if the QuitSystem variable is not true, then run VBA to reopen...
On the form properties, set the "Shortcut Menu" to "No".
To make a close button, add a button to some place on the form and add in this code into VBA:
DoCmd.Close