A message with subject "How to get resync working with
uniqueidentifiers" with the author JoelB was extremely helpful to me.
I spent far too many hours trying to fix this bug so wanted to add to
JoelB's very valuable posting.
The resynccommand that you set with VB has to be almost exactly the
same as the subprocedure that you use for a bound Access form's record
source.
1. Don't use fields selected with a * but list them individually in
both the resynccommand property and the subprocedure
2. Don't include an Order BY clause in the resynccommand property
3. The WHERE clause in the resynccommand will be slightly different
from your sub procedure because of using the ?, but everything else
should be identical.
If it is not, the resynccommand will deceptively look like it is
working until you get into two very specific situations. First, when
you add a new record, then save it and try to make another change to
the new record that you have just saved. Second when you make a
change to an existing record, save it and then try to save a change to
the same record that you just updated. In both these cases, Access
does not what to do if the resynccommand is different and gets into a
Write Conflict loop with Ctl + Alt + Delete as the only way to get
out. Yikes!
Thanks JoelB for saving a few more hairs on my head.