Re: "can't open any more tables"
From: Allen Browne (AllenBrowne_at_SeeSig.Invalid)
Date: 06/17/04
- Next message: Allen Browne: "Re: [Recordset]"
- Previous message: Allen Browne: "Re: Syntax for variable control name"
- In reply to: james: ""can't open any more tables""
- Next in thread: james: "Re: "can't open any more tables""
- Reply: james: "Re: "can't open any more tables""
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 17 Jun 2004 12:24:55 +0800
Hi James.
There are several possible issues here.
1. Assign the workspace variable, then the transaction, then the database
variable.
2. Avoid opening and closing lots of recordsets if possible. It will be much
more efficient to hold them open.
3. If you do need to close a recordset, be sure to explicitly close AND
dereference, by settting the Recordset variable to Nothing.
4. Always close what you open, and dereference your variables.
5. Avoid domain aggregate functions such as DLookup() inside the transaction
if possible. They do not clean up after themselves, and do not examining the
results inside the workspace anyway.
6. Explicitly roll back after any error. Otherwise you leave uncommitted
transactions hanging.
There is a list of the traps and an example of working with transactions in
this article:
Archive: Move records to another table
at:
http://allenbrowne.com/ser-37.html
-- Allen Browne - Microsoft MVP. Perth, Western Australia. Tips for Access users - http://allenbrowne.com/tips.html Reply to group, rather than allenbrowne at mvps dot org. "james" <anonymous@discussions.microsoft.com> wrote in message news:1db3001c45400$9bd02860$a001280a@phx.gbl... > In my application there is a loop that does database > updates every time through the loop. All the updates are > done in a transaction. If the loop executes too many > times, I get an error "can't open any more tables". > > I thought that this was because there were too many > updates inside one transaction, so I modified the code so > that the transaction is committed every 500 times through > the loop. Now, when I try to run with about 1500 loop > iterations, two transactions are successfully committed, > corresponding to 1000 times through the loop. However, > subsequently the application fails with the same error > message. > > What can cause this error besides too many updates inside > a transaction? I'm using Access 97. > > Thanks in advance, > james
- Next message: Allen Browne: "Re: [Recordset]"
- Previous message: Allen Browne: "Re: Syntax for variable control name"
- In reply to: james: ""can't open any more tables""
- Next in thread: james: "Re: "can't open any more tables""
- Reply: james: "Re: "can't open any more tables""
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|