Charlotte Foust
cfoust at infostatsystems.com
Wed Sep 5 11:28:05 CDT 2007
No, what I posted was for an independent popup form. A subform is a little different. The difference would be that you would declare your variable as a subform and set it to Me.mysubform.Form to give you access to the events of the subform itself, not just the subform control. Then, in the IDE dropdown where you see the controls of the parent form, you will also see your "withevents" subform object, i.e., mySubform. Dim WithEvents mySubForm As Form In the Open or Load event of the parent form, do this: Set mySubForm = Me.mysubform.Form The easiest way to create the shell is to select the mySubForm object in the controls dropdown and then select the event you want to intercept. VBA will create the shell with the proper signature and all you need do it add the code you want to run for that event. Please note that is you also have code in the subform for that event, both sets of code will run, although I don't recall which set runs first. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, September 05, 2007 9:14 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] SubForm and form Charlotte, I know I'm dense on this. The form you're setting - is that being done in the Main form's module and myForm is a subform in that main form? How do I create the 'shell' routines? Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, September 05, 2007 10:46 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] SubForm and form All you need to do is declare a form variable at the module level WithEvents, like this Dim WithEvents myForm as Form That will give you a myForm object in the list of objects in your form and if you select myForm from the dropdown list, you'll be able to create shell routines to handle any of the exposed events of a Form. So you can have a myForm_Load event, for example, which would contain code you want to run when myForm is loaded. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Wednesday, September 05, 2007 8:31 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] SubForm and form John, Believe it or not, I initially figured that this could be done because I do try to learn from your postings! :-) I gave my suggestion simply because that's what I know how to do. Could you post a short example code of how you would set up the main form's monitoring of the subform's events? I sure would like to manage a subform's load and open events. Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Wednesday, September 05, 2007 7:43 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] SubForm and form You can also declare a pointer to the form WithEvents and then sink any of the form's events in the main form. Doing that allows you to see the subforms events from up in the main form and select them. When you select one of the events, VBA creates an event handler up in the main form. Click events and enter/exit events usually do not have a problem but you should remember that subforms load before the main form's class module so events like OnOpen and such cannot reference code up in the main form until the main form's class has finished loading. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, September 04, 2007 10:07 PM To: 'Access Developers discussion and problem solving' Subject: [AccessD] SubForm and form Hi All: I just can not remember... too tied... too old. But how can a 'click' on a field within a subform be monitored and can subsequently produce a result on the main form? TIA Jim -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com