Durkin,
We also had the same kind of problem and the simple answer is, No we can not use Me.Close() at the load event and it is not a permission issue, so what we did was we created two functions on the base class, one is preLoad and the other is postLoad and we moved all the logic from the Load event to the preload and if everything is succesfull then we set a flag, something like isErrorOnPreLoad depending on the way how preLoad went. And in postLoad we check to see if the flag is TRUE, if so don't close the window, else close the window in postLoad function. So the code would be like this,
Dim oFrm as New frmMain
With ofrm
.preLoad()
.Show()
.postLoad()
End With
And if there was an error in preLoad, then we hide the window and postLoad will then close the window later. It depends on how you want to implement this, because the flag which I was talking about that can be an attribute and can be done this way as well.
Dim oFrm as New frmMain
With ofrm
.preLoad()
IF .isErrorOnPreLoad then Return
.Show()
End With
This way we eleminated postLoad and will work for any type of forms like sheets, response etc. I think this might help you little bit.
-Kris