Thanks Darren,<BR> I know my record locking strategy was a bit different to the norm, but can you see any potential nasty&#039s with it. I have tested it with a colleage, updating the same record at the same time, and it seems okay. I would however prefer to use the ADO locking methods, I have written VB based multiuser apps before where you can handle locking more easily.<BR><BR>I have tried using the pessimistic locking stuff, but it still results in the latest changes getting updated.<BR>What I could really do with is some way of locking the recordset temporarily, and when another user attempt the save, then I can trap the error. I have tried using adModeShareDenyWrite on the connection but it prevents me updating as well, im probably using it wrongly.<BR><BR>Dim objConn<BR>Dim objRS<BR><BR>Set objConn = Server.CreateObject("ADODB.Connection")<BR> objConn.Mode = adModeShareDenyWrite &#039If I stick this line in it prevents me updating the recordset???<BR> objConn.Open Constring<BR><BR>Set objRS = Server.CreateObject("ADODB.Recordset")<BR> objRS.CursorType = adOpenKeyset<BR> objRS.LockType = adLockPessimistic<BR> objRS.Open SQLtxt, objConn<BR><BR>If objRS.BOF = False And objRS.EOF = False Then<BR><BR> objRS("field1") = "sjsdjsj" &#039Pess Locking Locks RS Here<BR><BR> objRS("field2") = "jdjd"<BR> objRS("field3") = "djdj"<BR><BR> objRS.Update<BR>End If<BR>objRS.Close<BR>Set objRS = Nothing<BR><BR>objConn.Close<BR>Set objConn = Nothing<BR><BR>