Microsoft KB Archive/141614

= ACC: Global Variable Limitations - Exceeds 64K Segment =

Article ID: 141614

Article Last Modified on 1/19/2007

-

APPLIES TO


 * Microsoft Access 2.0 Standard Edition
 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q141614



Moderate: Requires basic macro, coding, and interoperability skills.



SYMPTOMS
Depending on how variables are declared in Microsoft Access 2.0, they can either end up in the Stack (approximately 64 kilobyte (KB) limit) or on the Heap. When declaring variables as either Global or fixed-length strings, the error message

Out of Memory

will occur if a 64 KB memory segment limit is encountered. This is a cumulative total. In other words, the size of variable X plus the size of variable Y cannot exceed the approximate 64 KB limit.

When declaring variables in Microsoft Access 7.0 and 97, they contain an approximate 64 KB limit per fixed-length string, regardless of how the variables are dimensioned (local or global). The error message

Invalid length for fixed-length string

will occur if a fixed-length string exceeds the approximate 64 KB limit. This is not a cumulative total. In other words, variable X and variable Y can each be approximately 64 KB in size. The actual size allowed per fixed-length string in Microsoft Access 7.0 and 97 is 65,526 bytes.



Steps to Reproduce Behavior
  Create a module and type the followings line in the Declarations section: Option Explicit Global x as String * 66000

' NOTE: In Microsoft Access 2.0, the amount of the declarations are ' cumulative. The error can be caused by these three Global ' statements which exceed the limit when added together.

Option Explicit Global x as String * 30000 Global y as String * 30000 Global z as String * 30000 

Threshold will vary on each individual system. It Microsoft Access 2.0, it is also possible to impact this threshold by unloading some of the wizards in the [Library] section of the MSACC20.INI file.



STATUS
This behavior is by design.

Additional query words: code

Keywords: kberrmsg kbprb kbprogramming KB141614

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.