<p> Ever want to check to see if a form is loaded before you try to access it? The only way I know of (other than this way) is to loop through the form collection... a rather large pain in the rear. The trick is to create a new form property. Add the following code to any form:</p> <blockquote> <p> <font color="#006699" size="-1">Option Explicit</font><font size="-1"> <font color="#009900">' Create a new property variable</font> <font color="#006699">Dim</font></font> <font size="-1">m_bLoaded <font color="#006699">As Boolean</font> <font color="#009900">' get the value of the new property</font> <font color="#006699">Public Property Get</font></font> <font size="-1">Loaded() <font color="#006699">As Boolean</font></font></p> <blockquote> <p><font size="-1"> Loaded = m_bLoaded</font></p> </blockquote> <p> <font color="#006699" size="-1">End Property</font></p> <p><font color="#009900" size="-1"> ' set the value of the new property</font><font size="-1"> <font color="#006699">Public Property Let</font></font> <font size="-1">Loaded(<font color="#006699">ByVal</font> bLoaded <font color="#006699">As Boolean</font>)</font></p> <blockquote> <p><font size="-1"> m_bLoaded = bLoaded</font></p> </blockquote> <p> <font color="#006699" size="-1">End Property</font></p> <p><font size="-1"> <font color="#006699">Private Sub</font></font> <font size="-1">Form_Load()</font></p> <blockquote> <p> <font color="#009900" size="-1">' set the loaded property to true</font><font size="-1"> Me.Loaded = <font color="#006699">True</font></font></p> </blockquote> <p> <font color="#006699" size="-1">End Sub</font></p> <p><font color="#006699" size="-1">Private Sub</font><font size="-1"> Form_Unload(Cancel <font color="#006699">As Integer</font>)</font></p> <blockquote> <p> <font color="#009900" size="-1">' set the loaded property to false</font><font size="-1"> Me.Loaded = <font color="#006699">False</font></font></p> </blockquote> <p> <font color="#006699" size="-1">End Sub</font> </p> </blockquote> <p>&nbsp;</p> <p>Now, form any other form or module, you can do this (assume you are using the default form name)</p> <p><font color="#006699" size="-1">If</font><font size="-1"> Form1.Loaded = <font color="#006699">True Then</font></font></p> <blockquote> <p> <font color="#006699" size="-1">MsgBox</font> <font size="-1">&quot;Form is loaded&quot;</font></p> </blockquote> <p> <font color="#006699" size="-1">Else</font></p> <blockquote> <p> <font color="#006699" size="-1">MsgBox</font> <font size="-1">&quot;Form is not loaded&quot;</font></p> </blockquote> <p> <font color="#006699" size="-1">End If</font></p> <p> Accessing this property will not cause the form to load in the event that loaded is false. However, if you make a single variable and make it public on the form, and try to access it, the form will load. You can actually use this property method to retain any data and access it without reloading hte form. I created a custom input box field in which the &quot;Return String&quot; is a custom property, like the loaded property. then I just do this:</p> <blockquote> <p> <font size="-1">Form1.show 1, me <font color="#009900">' (show my new form modal)</font> strInput <font color="#006699">=</font> Form1.strInput <font color="#009900">'(this will not cause the form to reload provided your property is called strInput!)</font></font></p> </blockquote> <p>give it a shot, let me know if you have any problems. </p>