Note that there are some explanatory texts on larger screens.

plurals
  1. POPage-level locking in Jet 4.0 insert? "Can't update; currently locked" error
    text
    copied!<p>I'm getting this error intermittently before record insert on a subform.</p> <p>The subform is in 'continuous records' mode. The subform recordsource is a parameter query opened via querydef.OpenRecordset, in dbOpenDynaset mode.</p> <p>Using MS Access 2003, Access 2000 file format for front-end and back-end, both FE and BE have record-level locking selected, all forms have "No Locks" for RecordLocks. </p> <p>Googling, it seems many people have had similar situations but no solutions found.</p> <p>Any ideas? It seems like page-level locking is being used instead of record-level, when the insert is done on the form.</p> <ol> <li><p>Could it be that the back-end connection (via DAO OpenDatabase) reverts to page-level locking? Any setting in the DAO connectionstring that could be helpful if so?</p></li> <li><p>Could it be that by opening the recordset via querydef, it uses page-level locking, so that a simultaneous record-update and record-insert (recordset.AddNew or whatever) may conflict? Microsoft's article <a href="http://msdn.microsoft.com/en-us/library/aa189633%28v=office.10%29.aspx" rel="nofollow">here</a> suggests this might be the case (although it's unclear, as OpenRecordset is supposed to be OK):</p></li> </ol> <blockquote> However, any SQL Data Manipulation Language (DML) queries — that is, queries that add, delete, or modify records — that are run from ADO (when you use the Microsoft Jet 4.0 OLE DB Provider), DAO, or the Access query user interface will use page-level locking. Page-level locking is used for SQL DML statements to improve performance when you are working with many records. However, even when record-level locking is turned on, it is not used for updates to values in memo fields and values in fields that are indexed — they still require page-level locking. </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload