I have this problem over and over. On a form layout I want users to enter new records. However, they can browse through existing records on that same layout. Inevitably they are browsing and decide to enter new data. They click into a field thinking it will be a new record but instead it modifies the existing data. It seems like everything I have done to overcome this problem is an awkward hack : Set a flag on committed records that has to be checked before keystrokes are accepted or at commit, automatically open a new record at launch of layout and prevent browsing, use global fields on layout and then transfer them by script on commit. etc.
What is the best way to insure that users don't modify data accidentally while looking through records? The flip side is, how to do that, while at the same time, still making it simple for users to edit data [on purpose-yes, by mistake-no]?
It seems like others don't suffer from this confusion. What am i missing?