Coding the Commit Button (Update and Add)
The procedure for committing an update is similar for committing an Add,
except that we place the dynaset in edit mode using DbEdit and then assign the new dynaset values.
Since we use the same commit button and the same commit event procedure to add
and update, we introduce two global flags DoAdd and DoUpdate to distinguish
between adding and updating. The Add and Update click event procedures set these
flags.
The Commit event procedure for adding and updating does the following:
- Validates entered data. Handles errors when necessary.
- Uses DbAddNew to add records, else uses DbEdit for updates.
- Assigns entered data to dynaset fields, using the Fields().Value property.
- Updates database with new record, using DbUpdate.
- Disables the Commit button.
- Re-enables all other functional buttons including the Add and Update button.
- Sets the DoUpdate and DoAdd flags to false.
For clarity, we placed the data validation checks in Step 1 in a separate
subroutine called DoValidationChecks(). We also moved the code that changes button
and flag states in Steps 5 through 7 to a subroutine called
SetAfterCommitFlags().
The code for the Commit function is broken into the following routines:
Commit_Click() Event Procedure
DoValidationChecks() Function
Update_Dynaset_Fields() Function
SetAfterCommitFlags() Subroutine
Contents