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 tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
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)