Database Form Events/text/shared/02/01170202.xhpforms; eventsevents;in database formsforms;database eventsDatabase Form EventsThe Events tab page, allows you to assign a macro to certain events which occur in a database form.To link an event with a macro, first write a macro that contains all the commands to be executed when the event happens. Then assign this macro to the respective event by clicking the ... button beside the corresponding event. The Assign Macro dialog opens, where you can select the macro.The following actions can be configured individually, meaning that you can use your own dialogs to depict an action:Displaying an error message,Confirming a delete process (for data records),Querying parameters,Checking input when saving a data record.For example, you can issue a "confirm deletion" request such as "Really delete customer xyz?" when deleting a data record.The events that are shown in the Events dialog cannot be edited directly. You can remove an event from the list by pressing the Del key.The following lists and describes all events in a form that can be linked to a macro:API;XUpdateListener
Before update
The Before update event occurs before the control content changed by the user is written into the data source. The linked macro can, for example, prevent this action by returning FALSE.
After update
The After update event occurs after the control content changed by the user has been written into the data source.API;XResetListener
Prior to reset
The Prior to reset event occurs before a form is reset. Returning True approves the reset, returning False cancels the operation.A form is reset if one of the following conditions is met:The user presses an (HTML) button that is defined as a reset button.A new and empty record is created in a form that is linked to a data source. For example, in the last record, the Next Record button may be pressed.
After resetting
The After resetting event occurs after a form has been reset.API;XSubmitListenerAPI;XSubmissionVetoListener
Before submitting
The Before submitting event occurs before the form data is sent. Returning True approves the submission, False stops it.API;XLoadListener
When loading
The When loading event occurs directly after the form has been loaded.
Before reloading
The Before reloading event occurs before the form is reloaded. The data content has not yet been refreshed.
When reloading
The When reloading event occurs directly after the form has been reloaded. The data content has already been refreshed.
Before unloading
The Before unloading event occurs before the form is unloaded; that is, separated from its data source.
When unloading
The When unloading event occurs directly after the form has been unloaded; that is, separated from its data source.API;XConfirmDeleteListener
Confirm deletion
The Confirm deletion event occurs as soon as data has been deleted from the form. Return True to allow row deletion, False otherwise. For example, the linked macro can request confirmation in a dialog.API;XRowSetApproveListener
Before record action
The Before record action event occurs before the current record or record set are changed. Return True when changing is allowed, otherwise False. For example, the linked macro can request confirmation in a dialog.API;XRowSetListener
After record action
The After record action event occurs directly after the current record has been changed.
Before record change
The Before record change event occurs before the current record pointer - SQL cursor - is changed. Return True when moving is allowed, otherwise False.
After record change
The After record change event occurs directly after the current record pointer has been changed.API;XDatabaseParameterListener
Fill parameters
The Fill parameters event occurs when the form to be loaded has parameters that must be filled out. For example, the data source of the form can be the following SQL command:SELECT * FROM address WHERE name=:nameHere :name is a parameter that must be filled out when loading. The parameter is automatically filled out from the parent form if possible. If the parameter cannot be filled out, this event is called and a linked macro can fill out the parameter. Return True when the execution of the parametrized statement should continue, False otherwise. API;XSQLErrorListener
Error occurred
The Error occurred event is activated if an error occurs when accessing the data source. This applies to forms, list boxes and combo boxes.
Vetoable events
Macros can interrupt event execution when they return a boolean value: True allows the execution of the event to continue and False stops the event execution.The following events are interruptable by returning False:Before record actionBefore record changeBefore submittingBefore updateFill parameters