The Basic Form Launcher (Reference) control generates two buttons: the Reference button and the Projection button. If the user presses the Reference button, the form of the related table is opened, with a filter set to the current record.
The first time you open a form, Infrastructure Map Server creates a Basic Form Launcher according to the entries in TB_RELATIONS. Most of the Basic Form Launchers are of this type. However, in very special cases you can define your own references.
For DetailFilter, you can define which of the related records are to be shown. For example, in the feature class form Water Pipe, you can create a Reference button that shows all related points of a certain type (TYPE):
You can use any SQL expression (that is the part following the WHERE), for example:
TYPE = 'Fireplug' or TYPE = 'any' OR
TYPE = 'Fireplug' and TYPE in (select ty from tytable where v1='any'
For DetailIndustryModel, you can open a form that belongs to a table of another industry model . This industry model has to be open so that you can select it from the dropdown list. For example, a project with two industry models is open, and you want to show Real Estate data in a Water form. In the Water form, you need to select Real Estate for DetailIndustryModel.
The detail industry model might not exist, or not be opened in the user's current project. This can happen if the form designer selects his industry model name (template), but the user has checked in the industry model with another name (for example, the template with the name real_estate was checked in as industry model my_real_estate). In this case, Infrastructure Map Server will search all open industry models for this form.
The form designer uses the DetailIndustryModel property to select the form of the industry model in a list box. This property is also helpful if the same table name occurs in several industry models (for example, TB_* tables), which is an extremely rare case. Normally, all industry model applications use a prefix to distinguish table names (W = water, RE = real estate, and so on) so the problem of opening the wrong table when the detail industry model name is not correct, will not occur.
If the DetailIndustryModel property is not specified, the system searches in the current database, and if the DetailIndustryModel is specified (even with a nonsense name), searches in all open databases.