Develop > Tailoring Best Practices > Form tailoring > Displaying related data

Displaying related data

Forms Designer offers two controls that allow users to display data from related tables and records.

  • Combo Box
  • Subform

You can determine which of these two controls to use by how you want users to interact with the related data.

If you want to use a control that allows users to select and interact with related data, then use a Combo Box control. See Combo Box.

If you want use a control that protects any virtual-joined data by making it read-only, then use a Subform control. See Subform below.

Subform

The Subform control displays a separate form containing data from a different table than the table associated with the main form. A Subform control allows any controls on the subordinate form to use the link record data to perform a virtual join. For example, a text control or table control on the subordinate form can display related data from another table. You determine what related data to display by creating a link record entry for the Subform control's Input field and specifying the related database field whose values you want to display in link record line entry.

Example Subform control on the open interaction form

Example Subform control Input value

Example link record line entry for the callback.contact field

The benefits of a Subform control are listed below.

  • You can display related record data from any other source in the system.
  • You can display related records that have one to many relationships. For example, from one input, the contact name, you can use a Subform control to display many related fields such as the contact's location, address, or telephone number.
  • You can provide link record data to controls that do not normally have link records such as Text or Table controls.
  • Any information on a Subform control is automatically read-only when it is part of a virtual join.

The costs of a Subform control are listed below.

  • You must create a separate link line entry and a query for each Subform control.
  • You must create and maintain a subordinate form for the linked controls.
  • You cannot use the virtual join option if you want users to interact with the controls on the subordinate form. This typically requires using either global lists or hard-coded values for any Combo Box controls on the subordinate form.

Since Subform controls depend upon link queries, any inefficiencies in the underlying query will negatively affect your system performance. Following the best practices in How do I write a good query? will reduce this performance impact. In addition, you must be very familiar with the Service Manager data model to create the necessary queries.

In general, a Subform control is best used in the following circumstances.

  • You need to display data from a different table than the one associated with the main form
  • You want the related information to be displayed in read only controls

If you want users to be able to select or interact with the related data, either use a Comfill control or do not enable the Virtual Join option for the Subform control. See the Comfill section inSelecting values from options on a form for a description of Comfill costs and benefits.