The following event handler is used to add new rows. It carries over the values of some fields from the current row.

function addButton_onClick( )

   local cCity, cZip, cInsp 

   // Make copies of field values to carry over 

   cCity = form.rowset.fields[ "City" ].value 

   cZip = form.rowset.fields[ "Zip" ].value 

   cInsp = form.rowset.fields[ "Inspector" ].value 

   // Add new row 

   if form.rowset.beginAppend( ) 

      form.rowset.fields[ "City" ].value := cCity 

      form.rowset.fields[ "Zip" ].value := cZip 

      form.rowset.fields[ "Inspector" ].value := cInsp 

      form.rowset.modified := false // Clear flag to set baseline for change 

   endif 

The field values are copied only if beginAppend( ) succeeds. It could fail if the current row has been modified, but contains invalid data. In that case, you would not want to overwrite the current field values and clear the modified flag.