Total Visual SourceBook

Total Visual SourceBook CD and Printed Manual

Microsoft Access/ Office 2016, 2013, 2010, and 2007 Version
is Shipping!

New features in Total Visual SourceBook for Access, Office 2007 and VB6

Supports Access/Office 2016, 2013, 2010 and 2007, and Visual Basic 6.0!

Separate version for Access/Office 2003, 2002, and 2000.

Separate version for:
Access 97/95

View all FMS products for Microsoft AccessAll Our Microsoft Access Products

SourceBook Info:

Why SourceBook?


"The code is exactly how I would like to write code and the algorithms used are very efficient and well-documented."

Van T. Dinh, Microsoft MVP




Microsoft Access, Office/VBA, VB6 Modules royalty-free source code libraryMicrosoft Access Modules royalty-free source code libraryMicrosoft Access VBA and VB6 Module Library Free trial of Total Visual SourceBook for Microsoft Access, Office, VB6 and VBA

Class: OpenForm in Category Microsoft Visual Basic 6 : Forms from Total Visual SourceBook

Class that open Forms via a string reference in VB6.

Visual Basic does not allow you to open and show a form based on a string or a variable containing the name of the form. This class lets you create a collection of the forms in your application, and then refer to them via strings or variables.

Procedure List

Procedure Name



(Declarations) Declarations Declarations and private variables for the COpenForm class
Class_Initialize Initialize Instantiates the module-level collection
Class_Terminate Terminate Cleans up the form reference collection
AddForm Method Add a form reference to the collection (this form does not need to be loaded)
GetForm Method Get a form reference to the passed form (this form does not need to be loaded)
ShowForm Method Show the form specified in the passed string argument. This form must have previously been added to the collection with the AddForm method. This function is designed to work like the VB6 .Show method, except that you can show a form by using a string or a variable rather than hard coding the name of the form. You can specify whether the form is to be shown modally, and optionally specify an owner form.

Example Code for Using Class: OpenForm

' Example of the COpenForm class
' To try this example, do the following:
' 1. Create four forms, named 'form1', 'form2', 'form3' and 'form4'
' 2. Set form1 to be the startup form for the application
' 3. Add a listbox named 'lstForms' to form1
' 4. Add a command button named 'cmdOpen' to form1
' 5. Add a command button named 'cmdGetReference' to form1
' 6. Paste all the code from this example to form1's module
' 7. Run the application and load form1.
' 8. Press the cmdOpen and cmdGetReference buttons with the listbox set at different form choices
'    to see how this class lets you interact with forms via a string reference to the form's name

' Declarations section code
Private mOpenForm As COpenForm

Private Sub Form_Load()
  Set mOpenForm = New COpenForm

  ' Add the available form names to a list box for this example only.
  ' You could supply the form names in any way you like, including variables, prompts from the user, entries in a table and so forth.
  With lstForms
    .AddItem "form2"
    .AddItem "form3"
    .AddItem "form4"
    .ListIndex = 0
  End With

  ' This is the only "hard-coding" you need to do to use the COpenForm class. You need to add every form in your application to this section of code.
  ' If you add a new form to your application, you will need to add a reference to it here. Notice that there are no quotes around the form names.
  ' You are not storing the NAME of the form, but a reference to the CLASS of the form.

  With mOpenForm
      .AddForm Form2
      .AddForm Form3
      .AddForm Form4
  End With

  cmdOpen.Caption = "Open Form"
  cmdGetReference.Caption = "Get Reference"

End Sub

Private Sub cmdOpen_Click()
  ' Open the selected form indicated in the listbox.
  ' The form can optionally be shown modally, or with an open form specified as the 'owner' form
  mOpenForm.ShowForm lstForms
End Sub

Private Sub cmdGetReference_Click()
  ' Get a reference to one of the forms in the application and assign it to a local variable.
  ' Modify a property of the form via this variable:

  Dim frm As Form

  Set frm = mOpenForm.GetForm(lstForms)
  If frm.Visible = False Then
    frm.Visible = True
  End If

  frm.Caption = "Caption updated to: " & Now

End Sub

Microsoft Access Module LibraryOverview of Total Visual SourceBook

The source code in Total Visual SourceBook includes modules and classes for Microsoft Access, Visual Basic 6 (VB6), and Visual Basic for Applications (VBA) developers. Easily add this professionally written, tested, and documented royalty-free code into your applications to simplify your application development efforts.

Additional Resources