[AccessD] Forcing an event

John Bodin jbodin at sbor.com
Wed Nov 12 14:33:12 CST 2014


Hi Susan, I don't understand fully what you are trying to do as I haven't been following your project too closely, but you can call event procedures like you want, but if the event is in a different form, I believe the event has to be declared public in the receiving form (second form in your example.)

Alternatively, you could use the OpenArgs event of the second form and pass a variable to it from the first form's call.  Then, like you suggest, in the open event of the second form, test if OpenArgs = "X", call your Click event then or enable or disable some controls.  E.G. 

If OpenArgs = "X" then
	Me.ctrl1.Enabled = False
        Or  Call Ctrlx_click()
End if

HTH

John

-----Original Message-----
From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins
Sent: Wednesday, November 12, 2014 3:13 PM
To: Access Developers discussion and problem solving
Subject: [AccessD] Forcing an event

I have a command button on one form that opens a second form. On the second form, I use a click event to enable and disable other controls based on the value in the clicked event.

I'm also passing a value to the second form and using that to filter the form's Recordset -- so the control that determines the disabling and enabling has a selected value. I need to force that click to enable and disable the other controls.

All this happens for me automatically when opening the form for new records, because the user must select a value to trigger the event that disables/enables the other controls. When opening from the other form, however, the value is already set to the appropriate animal's record.

I tried the Call statement to force the click event, but it doesn't work. I think the problem is that the code calling is on the first form. When I explicitly name the form in the Call statement, I get an error --

Call Forms![Enter Disposition Details]!lstDispositionDetailsID_Click()

VBA just won't take that syntax. I looked it up and Call wants only the procedure name.

I suppose I could write some kind of evaluation in the form's open event that tries to determine how the form is being opened, but that sounds gruesome. I can train the user to just click the control of course, but that's error prone because users forget.

Any suggestions?

Susan H.
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list