[AccessD] Calling control (WAS How do I determine which form called?)

Roz Clarke roz.clarke at donnslaw.co.uk
Tue Jul 1 12:29:33 CDT 2003


You know, I think it does :-)
 
The control name + parent form information should be enough to identify the
calling control to the extent that each form can check to see whether it
needs to respond to the event or not - by passing the control and parent
information up to frmTextZoom and back again, I can pinpoint the calling
control and grab the data. (Necessary because all open forms (barring menus)
will have to contain the sink event and all will be responding in exactly
the same way).
 
It rests on the assumption that I only use each subform control name once
throughout the database - if I instantiate a form twice, or if I've re-used
a subform, I am stuffed because both copies of the form will think they own
the calling control.
 
A lot closer though.
 
Roz
 
-----Original Message-----
From: Charlotte Foust [mailto:cfoust at infostatsystems.com] 
Sent: 01 July 2003 18:12
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] Calling control (WAS How do I determine which form
called?)
 
If you're using 2002, you can declare a custom event in the unbound form's
(I assume that's frmTextZoom) module:
 
Public Event Something(ReturnValue As String)
 
Then somewhere in frmTextZoom, you raise the event Something and pass the
value you want to capture as the return value.  Any form with an active sink
for that event will sink it and use the return value however it's been
programmed to.
 
In the original form, you can declare an object variable like this in the
module's declarations:
 
Dim WithEvents mfrmZoom  As Form_frmTextZoom
 
And you create a sink for the zoom form's custom event like this:
 
Private Sub mfrmZoom_Something(ReturnValue As String)
    'do something here
End Sub
 
Does that help?
 
Charlotte Foust
 
-----Original Message-----
From: Roz Clarke [mailto:roz.clarke at donnslaw.co.uk] 
Sent: Tuesday, July 01, 2003 8:16 AM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] Calling control (WAS How do I determine which form
called?)
>From the unbound form? As in, a frmTextZoom has been launched kind of event?
And then write that event into every control that has the ability to launch
frmTextZoom so that when frmTextZoom closes it can jump up and go, 'that's
my text, that is'??? 
 
Wouldn't I need to raise the event from the calling control before the focus
gets passed to the unbound form? Otherwise, once the focus has been passed I
don't have any way of referencing the control/form combination that called
frmTextZoom, which is the whole problem.
 
I think the answer is in there somewhere, thank you :-)
 
Roz
 
 
 
-----Original Message-----
From: Charlotte Foust [mailto:cfoust at infostatsystems.com] 
Sent: 01 July 2003 16:01
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] Calling control (WAS How do I determine which form
called?)
 
Have you tried raising a custom event from the unbound form and sinking the
event on the form that needs to retrieve the information?
 
Charlotte Foust
-----Original Message-----
From: Roz Clarke [mailto:roz.clarke at donnslaw.co.uk] 
Sent: Tuesday, July 01, 2003 12:18 AM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Calling control (WAS How do I determine which form
called?)
This is interesting. I need to do something sort of similar... I have an
unbound text box on an unbound form which I want to use to display memo
fields that are too small to display all their data in the controls on my
main forms. To get the data out is easy - screen.activecontrol will do it.
But then if they amend the data I need to get the new string back into the
right control on the right form. Trouble is it could be up to 3 layers deep
on subforms and as far as I can tell, to get the data back in I need to
build a full reference to the calling control e.g.
Forms!frmLevel1!frmLevel2.form!frmLevel3.form!ctrlCalling
 
Does anyone have an idea of how I could do this when I don't know how many
forms are involved???
 
TIA
 
Roz
 
-----Original Message-----
From: Charlotte Foust [mailto:cfoust at infostatsystems.com] 
Sent: 30 June 2003 18:13
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] How do I determine which form called?
 
I make CalledFrom a property of my forms.  Then I can pass the calling
form's name in the OpenArgs string and let the called form populate its own
property.  When I close the called form, it checks its CalledFrom property
and goes back to that.  In 2002 you can do this with Reports as well.
 
Charlotte Foust
-----Original Message-----
From: Hale, Jim [mailto:jim.hale at fleetpride.com] 
Sent: Monday, June 30, 2003 6:04 AM
To: 'Access DatabaseAdvisors (E-Mail)'
Subject: [AccessD] How do I determine which form called?
Does anyone have a function that will allow a class to determine which form
called it? TIA 
Jim Hale 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://databaseadvisors.com/pipermail/accessd/attachments/20030701/eeba555c/attachment-0001.html>


More information about the AccessD mailing list