I'm working on an application that talks to an Access database via DAO. Normally I use CreateObject("Access.Application") to get a copy of Access, then refer to the database via Application.CurrentDb, which works fine. But for some activities we need to do this instead for speed (VBA written for clarity, though the app is actually in C++):
# this works fine
dbengine = CreateObject("DAO.DBEngine.36")
# this fails, but only on one user's PC
db = dbengine.OpenDatabase(path_to_database, false);
Mostly the above command works fine. But on one user's computer (with a French-Canadian copy of Windows+Office, in case that matters), OpenDatabase returns this error:
(EX) Mémoire insuffisante.
(The English translation of that is approximately "insufficient memory" or "out of memory", but since I've never seen this on an English machine, I don't know literally what Access would have said in English. That makes googling the error message hard :( )
Has anyone seen this before? Any suggestions for how to avoid the problem? Any idea why it would only happen on this one machine?
And no, the machine is not actually running out of memory, of course.