ACC: Cannot Close Form from Control's OnExit Property (115574)
The information in this article applies to:
- Microsoft Access 2.0
- Microsoft Access for Windows 95 7.0
- Microsoft Access 97
This article was previously published under Q115574 Novice: Requires knowledge of the user interface on single-user computers.
SYMPTOMS
When you try to close a form from one of the following
the OnExit, OnEnter, OnLostFocus, or OnGotFocus property of a control
on the form
-or-
the OnCurrent property of the form
you receive the error message:
This action can't be run while processing a form or report event.
CAUSE
A macro or procedure that closes the active form is called from a control's
OnExit, OnEnter, OnLostFocus, or OnGotFocus property.
RESOLUTION
To work around this problem, add a new control that contains a flag to the
form. Then, refer to that flag's value before closing the form. The
following example demonstrates how to do this.
- To the form in question, add a new text box control.
- Set the new control's Name property to FlagControl. Set its
DefaultValue property to 0.
- Set the OnExit property of the control from which you want to close
the form to the following event procedure:
Me![FlagControl]=-1
To create this event procedure, click the OnExit property field,
click the Build button to the right of the field, and then select
Code Builder. After you enter the code, close the module.
- On the Edit menu, click Select Form.
- Set the form's TimerInterval property to 500.
- In Microsoft Access 7.0 and 97, set the form's OnTimer property to the
following event procedure:
If Me![FlagControl] Then
DoCmd.Close
End If
In Microsoft Access 2.0, set the form's OnTimer property to the
following event procedure:
If Me![FlagControl] Then
DoCmd Close
End If - View the form in Form view, and then exit the control (either by
pressing TAB or by clicking another control).
STATUS
Microsoft has confirmed this to be a problem in Microsoft Access
2.0, 7.0, and 97.
Modification Type: | Minor | Last Reviewed: | 10/11/2006 |
---|
Keywords: | kbbug kberrmsg kbProgramming KB115574 |
---|
|