A database has row level locking set under options.

A form's recordsource fills unbound textboxes from the OnCurrent event. Records are edited using the edit and update methods.

Some of the textboxes are associated with memo fields. A query recordset is used to fetch the same data row as the the one the form is sat upon. The form and recordset rows are now the same.

If a forms memo field is filled with 4k's worth of characters and assigned to the recordset, error 3188 'Could not update, currently locked by another session on this machine' occurs.

Research indicates that this begins to happen when the memo field data gets bigger than 2k with anything less working just fine.

With rstT1
  .Edit
  .
  rstT1(pcsTFLD_04_SYIN).Value = Me(pctlSYIN).Value ' memo field
  .
  .UpDate
End With

I'm confused! Could someone from Microsoft explain the relationship between the max record size of 4k and how memo fields impact upon this . My perception is that it should be minimal as the record should contain just a pointer to the memo data. In theory the conflict should not happen?