I want create one form from another. But the Form class has no the Show method, which described at http://msdn.microsoft.com/en-us/library/office/gg251540.aspx
It’s code in Form_Main:
Private Sub btnTemp_Click()
Dim frmOpt As Form_Option
Set frmOpt = New Form_Option
frmOpt.Show vbModal
End Sub
But I received the “Compile error: Method or data member not found”.
Where I made mistake?
Thanks
(VBA version 6.5; Access 2007)
=====
Sorry for my previous comment: right now I see that comment isn’t obvious.
I don’t have subForm on my mainForm.
I have two simple form: Form_Main and Form_Option. And I want to be the next logic:
- Form_Main has button “btnOption”
- Click on “btnOption”. The Form_Option is opening
- I change options on Form_Option
- And click the btnSave button on Form_Option, and the next idea is executing:
Form_Main.TimerInterval = CLng(Form_Option.edtTimerInterval.Value)
At the moment I made it simple. And that is enough for me.
I write so:
Private Sub btnOptions_Click()
' After changing options, refresh timer interval of main form
DoCmd.OpenForm "Options", , , , , acDialog
Me.TimerInterval = 1000 * CLng(MOptions.loadOption("fPeriodVerifyNoticeInterval"))
End Sub
Where fPeriodVerifyNoticeInterval is parameter that stored in the options table.
And the Options Form changes the “fPeriodVerifyNoticeInterval” parameters at saving.
My problem is solved, Thanks
The “mistake” is that
Showisn’t a valid Method for Access Forms. The link you provided is for UserForms which are forms made in VBA.If you want to create a new form that way what you want is something like this:
Though what I would recommend is doing this instead:
DoCmd.OpenForm "Option", , , , , acDialogwhich will open the Option form as a dialog.Caution: If you create your form using New even though you set it as modal it will not halt the progress of VBA code. This means that your variable will go out of scope as soon as the code finishes. If you want your form to remain open, you will need to set it as static within the sub or declare it outside the sub like this:
or outside the sub
private frmOpt = Form_Optionorpublic frmOpt = Form_Option