If you are constantly adding data to an Access Database, the database is opened in process and the Access Jet engine will use a cache of memory based on the size of your physical memory.
Microsoft Jet allocates memory on an "as- needed" basis up to an internally calculated high water mark. The idea is to efficiently use the memory in large RAM systems without the need to adjust Registry Settings.
The high water mark (MaxBufferSize) for Jet is calculated by the following formula:
( (((Total Ram in MB - 12)/4 ) * 1024) + 512 ) KB
For example, for a system with 32 MB RAM, Jet uses a calculated MaxBufferSize of 5,632 KB. You can override this value by setting the MaxBufferSize value in the following HKEY_LOCAL_MACHINE subtree:
\SOFTWARE\Microso
ft\Jet\x.x\Engines\Jet
For Jet 4.0, the registry location for MaxBufferSize is:
\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
You may try to see what happens if you do not write any new recores to Access at all. See if you get an increase.
You may consider changing this value from zero to 0x200 (512KB) which should limit Access and allow you to see if any memory outside of Access is being lost.
Scott Richardson (NI)
Scott Richardson
https://testeract.com