![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? |
#3
| |||
| |||
|
|
I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? |
#4
| |||
| |||
|
|
martin (AT) hotmail (DOT) com> wrote: I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? Sure you can do that. You can check the name of the main form: Select Case Parent.Name Case "main form 1" ... Case "main form 2" ... Case Else MsgBox "wrong main form or not a subform" End Select |
#5
| |||
| |||
|
|
On Sat, 02 Apr 2011 15:38:24 -0500, Marshall Barton wrote: martin (AT) hotmail (DOT) com> wrote: I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? Sure you can do that. You can check the name of the main form: Select Case Parent.Name Case "main form 1" ... Case "main form 2" ... Case Else MsgBox "wrong main form or not a subform" End Select So, in order to share one subform among multiple mainforms, should the above code (Select Case Parent.Name, etc.) be inserted in the subform's "On Load" event? |
#6
| |||
| |||
|
|
Arsene (AT) selenium (DOT) net wrote: On Sat, 02 Apr 2011 15:38:24 -0500, Marshall Barton wrote: martin (AT) hotmail (DOT) com> wrote: I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? Sure you can do that. You can check the name of the main form: Select Case Parent.Name Case "main form 1" ... Case "main form 2" ... Case Else MsgBox "wrong main form or not a subform" End Select So, in order to share one subform among multiple mainforms, should the above code (Select Case Parent.Name, etc.) be inserted in the subform's "On Load" event? If you really need the subform to act differently in different main forms, then you can put that kind of code anywhere you need to figure out which main form it's in. Don't forget that subforms are opened before the main form so don't try to do it too early in the subform. I think the Load even should be OK but double check it. I would try to avoid this kind of thing and serioously consider the tradeoffs of doing this vs creating separate subforms. |
#7
| |||
| |||
|
|
On Sun, 03 Apr 2011 12:53:32 -0500, Marshall Barton marshbarton (AT) wowway (DOT) com> wrote: Arsene (AT) selenium (DOT) net wrote: On Sat, 02 Apr 2011 15:38:24 -0500, Marshall Barton wrote: martin (AT) hotmail (DOT) com> wrote: I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? Sure you can do that. You can check the name of the main form: Select Case Parent.Name Case "main form 1" ... Case "main form 2" ... Case Else MsgBox "wrong main form or not a subform" End Select So, in order to share one subform among multiple mainforms, should the above code (Select Case Parent.Name, etc.) be inserted in the subform's "On Load" event? If you really need the subform to act differently in different main forms, then you can put that kind of code anywhere you need to figure out which main form it's in. Don't forget that subforms are opened before the main form so don't try to do it too early in the subform. I think the Load even should be OK but double check it. I would try to avoid this kind of thing and serioously consider the tradeoffs of doing this vs creating separate subforms. I have always created separate, dedicated subforms for each mainform, which has thus far worked OK, witht he only drawback it sometimes (in larger applications) results in the creation of a lot of forms, which I was trying to avoid (as one of several ways to decrease file size), but perhaps you are right and it might not be worth it for the relatively minuscule decrease in file size. |
#8
| |||
| |||
|
|
On Sun, 03 Apr 2011 12:53:32 -0500, Marshall Barton marshbarton (AT) wowway (DOT) com> wrote: Arsene (AT) selenium (DOT) net wrote: On Sat, 02 Apr 2011 15:38:24 -0500, Marshall Barton wrote: martin (AT) hotmail (DOT) com> wrote: I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? Sure you can do that. You can check the name of the main form: Select Case Parent.Name Case "main form 1" ... Case "main form 2" ... Case Else MsgBox "wrong main form or not a subform" End Select So, in order to share one subform among multiple mainforms, should the above code (Select Case Parent.Name, etc.) be inserted in the subform's "On Load" event? If you really need the subform to act differently in different main forms, then you can put that kind of code anywhere you need to figure out which main form it's in. Don't forget that subforms are opened before the main form so don't try to do it too early in the subform. I think the Load even should be OK but double check it. I would try to avoid this kind of thing and serioously consider the tradeoffs of doing this vs creating separate subforms. I have always created separate, dedicated subforms for each mainform, which has thus far worked OK, witht he only drawback it sometimes (in larger applications) results in the creation of a lot of forms, which I was trying to avoid (as one of several ways to decrease file size), but perhaps you are right and it might not be worth it for the relatively minuscule decrease in file size. |
#9
| |||
| |||
|
|
I managed to make this subform work. I did have to set the child and masterfields in the main form's load event. It works well. One of the reasons for doing this was to save an almost identical form. And if I change something in the code I only have to do it once. Also I have a lot of code in the subform, with direct references to the form, which would take me quite a while to migrate to a module. The subform is a standard subform that holds hyperlink values related to the mainform. It is expected to work for different main form in the same manner. |
#10
| |||
| |||
|
|
Arsene (AT) selenium (DOT) net wrote: On Sun, 03 Apr 2011 12:53:32 -0500, Marshall Barton marshbarton (AT) wowway (DOT) com> wrote: Arsene (AT) selenium (DOT) net wrote: On Sat, 02 Apr 2011 15:38:24 -0500, Marshall Barton wrote: martin (AT) hotmail (DOT) com> wrote: I have a subform which I've always used in one main form. Now I would like to use the same subform in another main form, only the subform then needs a different record source and the behavior of the subform should at some points be slightly different which I'm planning to do in VBA. My questions are: how can I check in my subform by which mainform it is opened? And secondly: can I safely use the subform in 2 mainforms at the same time? Sure you can do that. You can check the name of the main form: Select Case Parent.Name Case "main form 1" ... Case "main form 2" ... Case Else MsgBox "wrong main form or not a subform" End Select So, in order to share one subform among multiple mainforms, should the above code (Select Case Parent.Name, etc.) be inserted in the subform's "On Load" event? If you really need the subform to act differently in different main forms, then you can put that kind of code anywhere you need to figure out which main form it's in. Don't forget that subforms are opened before the main form so don't try to do it too early in the subform. I think the Load even should be OK but double check it. I would try to avoid this kind of thing and serioously consider the tradeoffs of doing this vs creating separate subforms. I have always created separate, dedicated subforms for each mainform, which has thus far worked OK, witht he only drawback it sometimes (in larger applications) results in the creation of a lot of forms, which I was trying to avoid (as one of several ways to decrease file size), but perhaps you are right and it might not be worth it for the relatively minuscule decrease in file size. File size is not a significant tradeoff factor. I think the major consideration is the maintence confusion of dealing with several nearly identical form objects vs the difficulty of keeping things straight in one complex form object. All I'm saying is that it is something to think about. |
![]() |
| Thread Tools | |
| Display Modes | |
| |