I get a run-time error 3035 ("system resources exceeded") running DAO code
in XP x64 that works fine under 32-bit XP. It updates 405,000 records.
Dim dbs as DAO.Database
If dbs=Nothing Then Set dbs=CurrentDb()
DAO.DBEngine.BeginTrans
dbs.Execute "UPDATE tblFoo SET [fldFoo]= [fldFoo] + 50;",
dbFailOnError '<<<<<< FAILS ON THIS LINE
DAO.DBEngine.CommitTrans
I've already set the registry to allow this update (the crucial one being
MaxLocksPerFile, which is set to hex 16e360 (=1,500,000 records, much more
than the 400,000 records I'm updating):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engi nes\Jet 4.0]
"PageTimeout"=dword:00001388
"LockRetry"=dword:00000014
"MaxBufferSize"=dword:00000000
"Threads"=dword:00000006
"ExclusiveAsyncDelay"=dword:000007d0
"SharedAsyncDelay"=dword:00000032
"FlushTransactionTimeout"=dword:000001f4
"MaxLocksPerFile"=dword:0016e360
"LockDelay"=dword:00000064
"RecycleLVs"=dword:00000000
"PagesLockedToTableLock"=dword:00000000
"UserCommitSync"="yes"
"ImplicitCommitSync"="no"
I can do the update manually with a query (after clicking ok to the message
about insufficient resources to rollback this update), but I can't do it
with code. (I know I can call a query to do an update but I don't want to
have to have a query for every field I update in the table, as opposed to
dynamic Sql--also, this error says something is not right with my setup in
x64.)
I appreciate any thoughts on what's wrong.