"Does On Error Resume Next have any disadvantages with regards to system resources."
I use it, and also On Error Goto. In some cases it takes a lot less code to let the error happen, trap it and react, as opposed to testing-testing-testing your way around it. Error handling is a regular part of Access, it shouldn't bog things down any more than the other parts. In fact, there is even a .Raise method where you can generate your own user-defined error.
EG If you want to know if a form is loaded, there's code floating around to call the Windows API and look for the window title, etc etc. You can instead do this:
Function IsLoaded(theform) As Boolean Dim frm As Form On Error Goto err_IsLoaded Set frm = Forms(theform) IsLoaded = True exit_IsLoaded: Set frm = Nothing Exit Function ' err_IsLoaded: IsLoaded = False Resume exit_IsLoaded ' End Function