>>>If I navigate from buyer to buyer while the buffer is dirty, it will crash (of course).
>
>Use optimitic table buffering so you can change records without firing tableupdate(). Then update all at once.
>
Charlie,
Mike was using table buffering. The problem was when a requery was done of the grandchild view when the child record changed. Even using table buffering, requerying a dirty view throws an error.
And I disagree with "binding data directly to a grid causes headaches". IMO, it simply requires a different approach. I'm sure you had initial headaches when you attempted to implement your listbox-array approach. You probably don't now because you have worked through them.
Larry Miller
MCSD
LWMiller3@verizon.netAccumulate learning by study, understand what you learn by questioning. -- Mingjiao