ACC: Not Enough Stack Memory When Opening Form (96988)



The information in this article applies to:

  • Microsoft Access 1.0
  • Microsoft Access 1.1
  • Microsoft Access 2.0
  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

This article was previously published under Q96988
Moderate: Requires basic macro, coding, and interoperability skills.

SYMPTOMS

When you open a form, it flashes repeatedly, and the following error message is displayed:
   In Microsoft Access 97:
				

There isn't enough stack memory left to perform the operation.

   In Microsoft Access 7.0:
				

There isn't enough stack memory left.

   In Microsoft Access 1.x and 2.0:
				

Not enough stack memory

CAUSE

One possible cause is that a macro with a Requery action is assigned to the OnEnter event procedure of the first control in the form's Tab Order. Or the macro is assigned to the OnCurrent property of the form. This creates an infinite loop, causing the form to requery until stack memory is depleted.

RESOLUTION

If the macro must be assigned to the first control, assign it to the BeforeUpdate event of the control.

STATUS

This behavior is by design.

MORE INFORMATION

The example below uses the sample database Northwind.mdb (or NWIND.MDB in versions 1.x and 2.0).

Steps to Reproduce Behavior


  1. Create a new macro with a single Requery action. You do not need to fill in any arguments for this macro action. Save the macro as MyRequery.
  2. Open the Categories form in Design view.
  3. Assign the macro MyRequery to the OnEnter property of the first control on the Categories form. This should be the text box control named CategoryName.

    NOTE: In versions 1.x and 2.0, there is a space in Category ID.
  4. Open the form in Form view.

    Note that the form flashes several times. After several seconds, you receive the error message mentioned in the "Symptoms" section.

Modification Type:MajorLast Reviewed:5/9/2003
Keywords:kberrmsg kbprb KB96988