ACC2000: Cannot Close Form from Control's OnExit Property

ID: Q210376


The information in this article applies to:

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 may receive the following 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.

  1. To the form in question, add a new text box control.


  2. Set the new control's Name property to FlagControl. Set its DefaultValue property to 0.


  3. 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.


  4. On the Edit menu, click Select Form.


  5. Set the form's TimerInterval property to 500.


  6. Set the form's OnTimer property to the following event procedure:


  7. 
    If Me![FlagControl] Then
       DoCmd.Close
    End If 
  8. 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 the Microsoft products listed at the beginning of this article.


MORE INFORMATION

Steps to Reproduce Problem

  1. Set the OnExit property of any control on a form to the following event procedure:


  2. 
    DoCmd.Close 
  3. View the form in Form view, and then exit the control (either by pressing TAB or by clicking another control).


Additional query words: prb


Keywords          : kberrmsg kbprg kbdta FmsEvnt 
Version           : WINDOWS:2000
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: May 13, 1999