Hi
So there are two possible ways for a form to work when Inserting a record.
a) add record with primed values when form opens, save other stuff when user clicks on Save.
b) Open the form, but don't write anything to the disk unless the user clicks on Save.
You can control which one is used on the Advanced tab of the form. The system will "decide" which one to use based on a couple rules.
While (a) is the normal Clarion windows approach, it can leave you with "half-hearted" records if the program crashes, or is terminated, while the form procedure is open. Not a big deal in a windows program, but because a user can abandon a form in many ways on the web, this happens substantially more on the web.
However (b) doesn't work if you are adding child records at the same time as the parent record (think Invoice form with LineItems).
So NetTalk will try and do (b), but will fall back on (a) if the form contains a child browse. As I said earlier you can override the behaviour on the Advanced tab of the Form.
Given that users can abandon forms in all kinds of ways (url in address bar, close tab in browser, close browse, close windows, whatever) there's no way to "catch" all those cases. Rather the best approach is to have a field, called say "HalfHearted" which is primed to 1 on the priming tab.
And Set to 0 in the ValidateInsert routine.
Thus all abandoned records will have halfHearted=1 and so they can be removed with a background procedure. (You might want to record the date/time in the field so you know how long it has been abandoned for...)
Cheers
Bruce