Using the Forms collection in the SalesLogix LAN client

From time to time, you may find that you want to reference a control or script on a form other than the one you are currently on.  This can be done easily using the Forms collection in SalesLogix. 

The first thing we need to do is to loop through all open forms, checking for the desired form.  For this example, we’ll look for the Contact Detail form.  (Note:  we’re looking for the value contained within the “Name” property of the form we are looking for.):

    Dim frm
    Dim x

    For x = 0 to Application.Forms.Count – 1
        If Application.Forms(x).Name = “frmContactDetail” Then
            Set frm = Application.Forms(x)
            Exit For
        End If
    Next

Once this code runs, we should have an object (frm) containing a reference to that form.  If the form is not found, the code will return null, which we should look for before trying to manipulate anything

    If Not frm Is Nothing Then

    End If

Any references should be done within that IF statement.  To access properties, you just need to include the form object (frm.{control}.{property}).  For scripts, you’ll need to access the forms Scripts collection (frm.scripts.{sub or function name})

That’s all there is to it.  All in all, pretty easy, right?

Keep in mind,  this does require that the form you want to reference actually be open.   If you want access to information to information on an uninitiated form, you’ll need to access the appropriate tables directly.

Hope you find this post helpful.  Thanks again for reading [:)]

ABOUT THE AUTHOR

Jason Buss

Jason is a senior application developer with Customer FX.

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!

You have Successfully Subscribed!