Microsoft KB Archive/302484

From BetaArchive Wiki
Knowledge Base


Article ID: 302484

Article Last Modified on 1/31/2007



APPLIES TO

  • Microsoft Access 97 Standard Edition



This article was previously published under Q302484

Advanced: Requires expert coding, interoperability, and multiuser skills.


SYMPTOMS

When you are working in an application that connects to a Microsoft Access database on a Novell file server, and you try to delete a large block of records (for example, more than 5,000) from a table, you may receive the following error message:

3218 Couldn't update; currently locked.

CAUSE

Novell servers have a limitation of 10,000 on the number of locks per user. If the number of locks required to execute the deletion exceeds the number available, you may receive this error message.

RESOLUTION

To work around this problem, use one of the following methods.

Method 1

Increase the number of record locks on the Novell server. Contact your Network Administrator or Novell for instructions on how to do this.

Method 2

Instead of deleting records, drop and re-create the table through SQL statements.

Method 3

Delete data in smaller chunks. To do so, follow these steps:

  1. Create a query that selects x number of TOP records from your table, for example:

    SELECT TOP 4500 * FROM MyTable

  2. Save the query as Query1.
  3. From your program, call the following SQL statement:

    DELETE * FROM Query1

    This will delete the top 4,500 records. You can call this query multiple times, depending on how many records you have. Even if this query is called after there are no records remaining in the table, you should not receive any errors.


REFERENCES

Microsoft Jet Database Engine Programmer's Guide Second Edition, "Chapter 9," page 426


Additional query words: prb Acc97

Keywords: kberrmsg kbprb KB302484