[AccessD] Multi Forms

Charlotte Foust cfoust at infostatsystems.com
Thu Jul 8 15:49:47 CDT 2004


If you use Set objFrm = Form_MyFormName, you automatically open an
instance of the form object.

Charlotte Foust

-----Original Message-----
From: jwcolby [mailto:jwcolby at colbyconsulting.com] 
Sent: Thursday, July 08, 2004 10:59 AM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] Multi Forms


I have not figured out how to pass in the name of the form to open
(that's what the strFrmName was about).  I do know that the
form_MyFormName actually refers to the MODULE behind the form (even if
none exists I believe), but I do not know how to open that module
directly by name (causing the form to open).  These modules do not
appear to be stored in the modules collection, and the form does not
exist in the forms collection unless it is already open.  If you open it
first, you will always end up with a pointer to the same instance.
Sigh.

There is a syntax:

CurrentDb.Containers!Forms.Documents(strFrmName)

That allows you to get at the object as a document or an object.  I used
to be able to open a form in design view using this but I don't remember
how. I think it was just opening one instance though, for the purpose of
manipulating design view properties.

At any rate, I do not have the answer as to how to pass in the name of
the form and open it using the Set statement syntax.

John W. Colby 
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Thursday, July 08, 2004 2:24 PM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] Multi Forms


Actual working code.  The key is that opening a form this way only keeps
it open as long as a pointer to the form remains in existence.  Thus you
have to save the pointer in a collection to hold it open.  The CLOSE of
the form MUST remove itself from the collection or the user will be able
to close the form but a pointer to it will remain, clogging up the
works.

I use a string in the caption as the key to the collection, thus the
form can look in it's caption to find the key to its pointer in the
collection.

Option Compare Database
Option Explicit

Private colForms As Collection
Private blnFrmsInit As Boolean

Function MyFormOpen(strFrmName As String, strInstanceName As String) Dim
frm As Form
    
    If blnFrmsInit = False Then
        Set colForms = New Collection
        blnFrmsInit = True
    End If
    Set frm = New Form_lfrmSpecialtyPreferences
    frm.Caption = strInstanceName
    colForms.Add frm, strInstanceName
End Function

Function MyFormClose(strInstanceName As String)
    colForms.Remove strInstanceName
End Function

Hope this helps.

John W. Colby 
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Francisco H
Tapia
Sent: Thursday, July 08, 2004 1:19 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Multi Forms


Yup, but in my app, i'm going to have to open several instances of the 
several forms, I don't want to write up this funciton for every one of 
them...

Charlotte Foust wrote On 7/7/2004 4:00 PM:

>Are you trying to open multiple instances of the same form, or what?
>
>Charlotte Foust
>
>-----Original Message-----
>From: Francisco H Tapia [mailto:my.lists at verizon.net]
>Sent: Wednesday, July 07, 2004 1:38 PM
>To: AccessD
>Subject: [AccessD] Multi Forms
>
>
>http://members.iinet.net.au/~allenbrowne/ser-35.html
>
>I'd like to make this code more re-useable but i seem to be stuck at
>this line
>
>I thought I'd be able to pass a variable and then just set the new
>object as a new "form" object.  Is this not possible?
>
>    Set frm = New Form_frmClient
>
>
>wasn't there a thread not too long ago about multiforms?
>
>  
>


-- 
-Francisco


-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list