M
Michael J. Strickland
Just recently, after a clean re-install of Office 2007, SP1, SP2, and
updates
through about mid-August, Access 2007 started hanging at the end of
processing table-type record sets.
The programs finish processing the record set, and the tables involved
are updated appropriately, however the programs do not exit. Access
either hangs or encounters an extremely long delay after finishing. I
noticed on smaller tables (i.e. < 5000 records, Access would just delay
for a number of seconds and then exit.
On larger tables, when it hangs, I must end Access via Task manager, and
restart it, at which time the database has ballooned to about 10 times
its size. The table involved would show all the changes from the VBA
routine, and after a Compact/Repair, the database would return to its
normal size.
It appears to be some sort of string/garbage collection process run
amok.
Changing to dynaset record sets, solved this problem, however I have
been using the default (Table type) record sets for about 10 years
without experiencing this problem.
Using:
Set rstTable = CurrentDb.OpenRecordset(mstrTableName, dbOpenDynaset)
rstTable.MoveLast
rstTable.MoveFirst
instead of
' Set rstTable = CurrentDb.OpenRecordset(mstrTableName)
solves the problem.
Anyone else experience this problem?
updates
through about mid-August, Access 2007 started hanging at the end of
processing table-type record sets.
The programs finish processing the record set, and the tables involved
are updated appropriately, however the programs do not exit. Access
either hangs or encounters an extremely long delay after finishing. I
noticed on smaller tables (i.e. < 5000 records, Access would just delay
for a number of seconds and then exit.
On larger tables, when it hangs, I must end Access via Task manager, and
restart it, at which time the database has ballooned to about 10 times
its size. The table involved would show all the changes from the VBA
routine, and after a Compact/Repair, the database would return to its
normal size.
It appears to be some sort of string/garbage collection process run
amok.
Changing to dynaset record sets, solved this problem, however I have
been using the default (Table type) record sets for about 10 years
without experiencing this problem.
Using:
Set rstTable = CurrentDb.OpenRecordset(mstrTableName, dbOpenDynaset)
rstTable.MoveLast
rstTable.MoveFirst
instead of
' Set rstTable = CurrentDb.OpenRecordset(mstrTableName)
solves the problem.
Anyone else experience this problem?