Experts I have a Main Form which has two (Unbound) Subforms [SFsubform] and [SFsubform1] which call subforms depending on which button is clicked however each button only calls one subform (i.e.) button1 on a click event calls a subform to [SFsubform] only and I am looking for a button on a click event to be able to call different subforms to both subforms [SFsubform] and [SFsubform1].
I have attached the code I use for one button 1 subform procedure can someone please show me how i convert it to one button 2 subforms please.
Thanks in advance.
Option Compare DatabaseOption Explicit'MainForm and SubForm Visability Control ************'Sub closesf(sForm As String)Me.sfsubform.SourceObject = sFormEnd Sub'******Open Mainform SubForm Option1********'Private Sub Command104_Click()Call closesf("CMSMainSubForm1")End Sub
Just add a similar line of code to your sub, and one more parameter for the second subform:
Sub closesf(sForm As String, sForm1 as string)
Me.sfsubform.SourceObject = sForm
Me.sfsubform1.SourceObject = sForm1
End Sub
Private Sub Command104_Click()
Call closesf("CMSMainSubForm1", "CMSMainSubForm2") '<--- Change the name of the second form's source object as needed.
End Sub
Hi I have tried your solution but I cannot get to work I keep getting
Compile Error:
Argument not optional
I have attached my final code. The only other thing that might be causing a problem is that I have more than one button which calls a subform to [SFsubform] and [SFsubform1] which works well when one button opens one subform but not when I try to cahnge code as suggested.
I
Many thanks again in advance for your help.
Option Compare DatabaseOption Explicit'MainForm and SubForm Visability Control ************'Sub closesf(sForm As String, sForm5 As String)Me.sfsubform.SourceObject = sFormMe.sfsubform1.SourceObject = sForm5End Sub''******Open MainFormSubform Start Screen********'This opens Subform [CMSMainformMain] on subform sfsubformPrivate Sub Command123_Click()Call closesf("CMSMainSubFormMain", "CMSReportsModule")End Sub'******Open Mainform SubForm Option1********'This opens Subform [CMSMainformSub1] on subform sfsubform1Private Sub Command104_Click()Call closesf("CMSMainSubForm1")End Sub'******Open Mainform SubForm Option1********'This opens the Find Project Form on subform sfsubform1Private Sub Command59_Click()Call closesf("FindProjectForm")End Sub'******Open Mainform SubForm Option2********'This opens Subform [CMSMainformSub2] on subform sfsubform1Private Sub Command105_Click()Call closesf("CMSMainSubForm2")End Sub'******Open Mainform SubForm Option3********'This opens Subform [CMSMainformSub3] on subform sfsubform1Private Sub Command106_Click()Call closesf("CMSMainSubForm3")End Sub'******Open Mainform SubForm Option4********'This opens Subform [CMSMainformSub4] on subform sfsubform1Private Sub Command107_Click()Call closesf("CMSMainSubForm4")End Sub'******Open Mainform SubForm Option5********'This opens Subform [CMSMainformSub5] on subform sfsubform1Private Sub Command108_Click()Call closesf("CMSMainSubForm5")End Sub
Ok, If I'm understanding this correctly, you have two subform controls on your main form - and you want to be able to set either one of them to have any form as a source object - correct?
If that is the case, you would have to change the sub and the way the sub is called in each of your click events.
The sub would have to be changed like this (I've shown you the syntax for a few here. You need to do this with all of the calls to closesf:
Sub closesf(sForm As String, sFormControl as string) '<--- Add sFormControl so that the name of the subform control can be specified
Me.controls(sFormControl).SourceObject = sForm '<-- This now sets the souce object of a specified subform control to a specified form
End Sub
''******Open MainFormSubform Start Screen********
'This opens Subform [CMSMainformMain] on subform sfsubform
Private Sub Command123_Click()
Call closesf("CMSMainSubFormMain", "sfsubform") '<--- sets the source object of sfsubform to CMSMainSubformMain
Call closesf("CMSReportsModule", "sfsubform1") '<--- sets the source object of sfsubform1 to CMSReporstModulei
End Sub
'''' **** Note that since you have added an argument to the sub, you need to include that argument in ALL of the calls to that sub. ****
'******Open Mainform SubForm Option1********
'This opens Subform [CMSMainformSub1] on subform sfsubform1
Private Sub Command104_Click()
Call closesf("CMSMainSubForm1", "sfsubform") '<--- sets the source object of sfsubform to CMSMainSubForm1
End Sub
'******Open Mainform SubForm Option1********
'This opens Subform [CMSMainformSub1] on subform sfsubform1
Private Sub Command59_Click()
Call closesf("FindProjectForm", "sfsubform") '<--- sets the source object of sfsubform to FindProjectForm
End Sub
'******Open Mainform SubForm Option2********
'This opens Subform [CMSMainformSub2] on subform sfsubform1
Private Sub Command105_Click()
Call closesf("CMSMainSubForm2", "sfsubform") '<--- sets the source object of sfsubform to CMSMainSubForm2
End Sub
0
Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.
Final code for other users to understand how problem was solved !
'*****************************************************************************************************************'New Mainform Subform window switching code 5th July 2009'*****************************************************************************************************************Sub closesf10(sform As String, sformcontrol As String)Me.Controls(sformcontrol).SourceObject = sformEnd SubPrivate Sub Command166_Click()Call closesf10("CMSMainSubFormMain", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub'This opens Subform [CMSMainformSub1] on subform sfsubform and Reports Module on sfsubform1Private Sub Command104_Click()Call closesf10("CMSMainSubForm1", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub'This opens Subform [CMSMainformSub2] on subform sfsubform and Reports Module on sfsubform1Private Sub Command105_Click()Call closesf10("CMSMainSubForm2", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub'This opens Subform [CMSMainformSub3] on subform sfsubform and Reports Module on sfsubform1Private Sub Command106_Click()Call closesf10("CMSMainSubForm3", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub'This opens Subform [CMSMainformSub4] on subform sfsubform and Reports Module on sfsubform1Private Sub Command107_Click()Call closesf10("CMSMainSubForm4", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub'This opens Subform [CMSMainformSub5] on subform sfsubform1 and Reports Module on sfsubform1Private Sub Command108_Click()Call closesf10("CMSMainSubForm6", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub'This opens Subform [CMSMainformMain] on subform sfsubformPrivate Sub Command123_Click()Call closesf10("CMSMainSubFormMain", "sfsubform")Call closesf10("CMSReportsModule", "sfsubform1")End Sub
There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.
Windows Explorer let you handle zip folders nearly as any other folder: Copy, move, change, and delete, etc.
In VBA you can also handle normal files and folders, but zip folders takes a little more - and that you'll find here.
This following write-up describes a different way to copy Lotus Notes Calendar to Outlook. Along with this, we will also learn the reason behind this NSF to PST migration. Users can prefer different procedures as per their convenience.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…