hmmm no hidden forms,
I think simple is more in this case and just going to refer to the main forms that a user may use:
DoCmd.Close acForm, "frmCandidates", acSaveYes
If CurrentProject.AllForms(frmCompanies).IsLoaded Then
Exit Sub
ElseIf CurrentProject.AllForms(frmCourses).IsLoaded Then
Exit...