instantiate a form object by its name in MS Access
|
Access VBADiscuss using VBA for Access programming.
Welcome to the p2p.wrox.com Forums.
You are currently viewing the Access VBA section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
instantiate a form object by its name in MS Access
Hi,
I am trying to build a wizard in ms access. The wizard wil have several forms which load as subform one by one in the main parent form.
Any way, before moving to the next form I need to pass the variables from the previus form.
I am trying to write a resuable module so that I can apply to other sections of my application (other wise I could have used public variables).
In order to do so I want to loop through the controls of each form (before loading the next one) and add the variables to a collection object for further retrival on the next form.
The problem I am facing is that in order to write a function or a sub that will get the form name and add all its controls to a collection I have to instantiate a form by its name. I am trying to use the below code but I get a Type mismatch error.
Public Sub SaveFormData(strFormName As String)
Dim ctl As Control
Dim key As String
Dim value As String
Dim f As New Form
Set f = CurrentProject.AllForms(strFormName)
For Each ctl In f.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
key = ctl.Name
value = ctl
NewWizardCol.Add value, key
End If
Next ctl
End Sub
if I use the below code to instantiate the form every thing works fine:
set f=Form_frmProductDupCheck
Any ideas how I can instantiate the form using its name. (I'm working in MS Access 2000)