>I'm sorry. What I see is a a really poorly designed way of entering and viewing data (IMHO). Do you disagree that he is entering data in one session and looking at it in another? Depending on how often the data is refreshed, I wouldn't expect it to be all in synch.
I agree, but I don't find it unusual. The first form (where the table is read only) could just use this table in a lookup grid or a combo, and have six other tables open; then the user discovers that the lookup needs new records, and launches the other form.
>Your supposition is different than Aleks' example. He opened table in the prg, then added and viewed tables from two distinct data sessions. Depending on how often the data refreshes, I wouldn't expect them to be always (or reliably) synched. If two forms need to share a datasession, then they should. If they don't, well, then the developer has to handle (in one way or another) how the data gets refreshed. Don't they?
>
>Maybe I'm missing something important (I don't even get why the Readonly seems to be key in Aleks mind) because I'd be suspicious of this design. Period. I really don't blame VFP for getting confused when I've asked it to do something that's inherently...a bad design.
"Confused" is an euphemism. The record got added OK, it's the index which hasn't heard of it. I've also tried to close it all and open the table later (that should dismiss the problem of synchronizing) - the record is there, and Seek can't find it. Until reindexing.
>The more I read your response, the more I'm left with the feeling that I'm intrepreting this whole subject very differently than you guys. Don't mean to be confusing.
I'm just pointing out that this is not an uncommon or bad design, but something that may happen in real life. Maybe the fact that Aleks cleaned out the other tables, cursors and whatever he had in the original layout reduced the scenery to somewhat abstract and bad-design-look-alike, but I can imagine this happen in a well designed environment too.
OK, I think we've raised sufficient noise, so I won't forget to avoid the five necessary circumstances for this to happen. I have just pinched a "WATCH_BUG" flag in my bug map.