I think the real issue is the "Form Load Event" ...
When I first started with VBA code I found the form load event very handy, I employed it to modify my forms as they loaded. I seldom use the forms open event, although I do use it for a loading class modules, but I can't remember why? I mean,
what IS the difference is between the two events? "Form Load" & "Form Open"...
You can fall into the trap of thinking that the form load Event is the only way of getting things to happen on the form when it opens. I was in this track for years, and then the problem arose where I was trying to use custom properties and I couldn't, because the load event runs before the properties are set, in fact
NONE of the forms events run after the custom properties are set! Very strange I thought. After a lot of head scratching I realised I could create my own public function "fSetUp" --- simple, done!
I wonder from time to time, what is the logic behind Microsoft's decision not to allow you to call custom properties with the forms "beginning" events? Is it done deliberately or by accident?
It seems to me that the logical approach is to
separate the form construction and form function. In looking at it this way, then you could assume that the form open, form load, all the other "initialising events" of the form should be used to control the fundamental processes and condition of the basic form, not the business logic of the form. Separate the business logic out to the public functions.?
That's my take on it, love to hear counter views and corrections, I'm sure I will get some!
MORE INFO HERE:-
Open One Form From Another
Passing Form Values A common requirement is to pass values from one form to another. In these videos I demonstrate some problems you might face, and demonstrate a good and robust way of doing it. Open One Form From Another Open One Form From Another Video 1 (3:15) I have used the technique shown...
www.niftyaccess.com