ID: Q141614
The information in this article applies to:
Moderate: Requires basic macro, coding, and interoperability skills.
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.
1. 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.
This behavior is by design.
Additional query words: code
Keywords : kberrmsg kbprg
Version : 2.0 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbprb
Last Reviewed: November 20, 1998