>Well with row buffering if you move the record pointer it is an implicit tableupdate(). Perhaps go (recno()) causes the effect of record pointer movements to fire while not actually moving - I haven't tested it though.
GO RECNO() does fire validation code, but there is another use too...
GO RECNO() is necessary sometimes to remind a datasession of it's relationships between tables. If you use relationships in forms (I don't) extensively, you have probably found that every once in a while, a child cursor forgets to refresh itself according to the position of the parent's record pointer. The only graceful way I have found of 'reminding' the relationship to behave is with GO RECNO().
Erik Moore
Clientelligence