To jameslean: yup I know, that was simplified for illustrative purposes.
To rousseau10: deadlock happens on resource (lock or thread), not row or recordset. What gets eventually rolled back is transaction, whatever it affects.
------
heisenbug: A bug that disappears or alters its behavior when one attempts to probe or isolate it
schroedinbug: A bug that doesn't appear until someone reads source code and realizes it never should have worked, at which point the program promptly stops working for everybody until fixed.
[ba