Optional. Default = .F. .T. = UI Level and Engine Level field rules are enforced when the record is changed. .F. = Alpha Anywhere does not enforce these "UI level" field rules.
Begin changes to tables current record.
The <TBL>.CHANGE_BEGIN() method initiates a Change operation on the current (most recently fetched) record in the table referenced by the specified table pointer (<TBL>). You complete the Change operation by calling <TBL>.CHANGE_END() with the same table pointer.
Field Rule Enforcement
If Field_Rules_Flag is .T., then UI Level field rules are enforced when the record is changed. If the Field_Rules_Flag is .F., then Alpha Anywhere does not enforce these UI Level field rules. UI Level field rules are rules such as:
- trigger events
- minimum and maximum values
- lookup fill-ins
Engine Level rules, such as auto-increment values are always enforced. One or more Change operations can occur simultaneously, each on a different open table. The number of active Change operations cannot exceed the number of open tables. Once a table is in Change mode, values can be assigned to the table fields in the record buffer. For example, the following operation changes the LAST_NAME and FIRST_NAME fields in the last record:
dim tbl as P tbl = table.open("c:\data\customers") tbl.change_begin() tbl.last_name = "Washington" tbl.first_name = "George" tbl.change_end(.T.) tbl.close()
The <TBL>.CHANGE_BEGIN()must be followed by a corresponding <TBL>.CHANGE_END()to save the new field values to the record. For more information, see the <TBL>.CHANGE_END() method. Note : You cannot use the <TBL>.CHANGE_BEGIN() method or <TBL>.ENTER_BEGIN() methods on a table that is already in either Change or Enter mode. To determine the current mode, use the <TBL>.MODE_GET() method. Note : You cannot move the record pointer (using any of the fetch methods) in a table that is already in either Change or Enter mode.