Form Data Source Properties

The following table describes the properties that are available for form data sources.




Sets the name of the data source. This should be the same as the name of the underlying table.


Sets the table used as the data source.


Sets the index used to specify a sorting order. You can choose any of the indexes on the table.

If you specify an index in this way, it is used as an index hint on each of the queries to the database. It specifies both an access path and a sort order for the records shown in the form, based on this data source.

The initial sort order for the records shown in a form is prioritized as follows:

  • If sort fields are added to the data source query, the sort specification is used.

  • If an index is specified in the Index property on the data source, the sort order used is implicitly specified in that index.

  • If the data source is autojoined with another data source, the system locates the most adequate index for this join, and then sorts the data according to that index.

  • If nothing else is specified, the sort order is the one that is implicitly specified in the first index (the one with the lowest ID) on the table that is used in the form data source.

When no index hints are specified, the database management system locates an applicable access path. It is based on the information in the supplied query.

The sort order for a form can be changed by a user by using the query dialog.


Enables you to specify one of the fields in the data source as a counter for the form. The field must be an index on the table that underlies the data source, and must be of type real.

The CounterField property is used to ensure that a record inserted in a form is supplied with a line number that corresponds to the actual sequential position in the form. For example, if a new line is inserted between lines 3 and 4, the new line is supplied with line number 3.5.


Specifies whether security checking occurs early (before the form opens).

Yes – The user's read permissions are checked before the form opens. A message is displayed if the form cannot open. Yes is the default, and is generally recommended.

No – The user's read permissions are checked only after the form has opened. No data is displayed if the user lacks sufficient permission for the underlying data sources.


Specifies whether users can make modifications to fields on the form.

You can set the AllowEdit property for the entire form here, but to prohibit modifications for individual fields, the same property exists on each field in the data source.


Specifies whether users can create new records in the data source (in the table).


Specifies whether users can delete records in the data source (in the table).


Defines whether the first or the last record should be the current one when the form opens.


Determines whether the system automatically performs a search on the data source. This property must be set to Yes.

This property forms part of the AutoJoin System.


Determines whether the system receives a notification if a record is changed. This property must be set to Yes.

This property forms part of the AutoJoin System.


Determines whether a query is automatically generated for the data source that joins it with the data source that is specified in the JoinSource property. This property must be set to Yes.

This property forms part of the AutoJoin System.


Determines whether all fields in the data source should be fetched, or only those that are used by controls on the form.

This property is designed to be used in lookup forms. There is no code in these forms, and they open more quickly because the result set is smaller.

When the OnlyFetchActive property has been set to Yes, records cannot be deleted from within the form. This is to preserve data integrity by ensuring that a delete operation is never attempted on incomplete records. If the user attempts to delete a record, an error message is issued.


Enables you to join two data sources.

Set this property when two or more tables are used as the data source, and you want to join them.


Enables you to maintain an active link between two data sources. When focus changes in the first data source, the corresponding record(s) in the other data source are selected.

An example of using this property is a customer table and a table of transactions for each customer. Scrolling from one customer to the next also automatically updates the transaction list to display transactions for the current customer.

Set this property to Delayed for the outer (externally linked) data source. The linked data source is updated only after a delay of 100 milliseconds. This ensures that the linked data source does not update while a user is scrolling through a data source—only after the user finally focuses on a record.

This property forms part of the AutoJoin System.

For more information about link types, see Joining data sources on forms.


Enables you to delay the execution of the data source’s active method.

If this property is set to Yes, the active method is activated only after a delay of 20 milliseconds. When a user scrolls through a data source, the active method is not called on every record—on only the final record that the user selects.

This property is particularly useful when two data sources are linked (when the LinkType property is set to Delayed).

This property forms part of the AutoJoin System.


Determines whether a new record is created when the user moves focus past the last record in the table (for example, by pressing F8).


Determines whether a blank record is displayed in the form if there are no records in the table.

If InsertIfEmpty is set to No, the user must manually create a new record (for example, by pressing CTRL+N).

Community Additions