Making a linked field validable on more than one field

Normally a linked field has a lookup field which has a single index. The production.place field in collect.inf in a 4.5.2 application for example, links to the term field in thesau.inf, for which there is a single index, with the fixed domain GEOKEYW (geokeyword). So if a user enters a partial or complete term in the production.place field in an object record, Collections will check that value against all terms with the GEOKEYW domain in the thesaurus, to establish whether the value already exists or not.
Term records in authority database tables like the thesaurus often have another field (besides the term field and the domain field) to identify the term further (as terms needn't be unique), namely the term.code field. A lot of users would like to use terms and term codes intermingled in the same field: if they know the term code by heart they would like to enter that value and have Collections show the auto-complete drop-down list for the linked field with relevant term/term code combinations as they type the code and automatically replace it by the appropriate term, while if they only know the term, they would like to enter the term and validate it against the auto-complete drop-down list or the Find data for the field window normally. Examples of such desired validation combinations are subject classification code/subject term, Dewey classification code/subject term and geographical place code/place name. So the production.place field could be a field that would profit from such double validation.

From Designer 7.7.2.760 and Collections 1.10.1 this functionality is available, but must be set up per desired linked field manually. It takes the following changes:

1. In the authority database, create a combined index on the fields that you'd like the user to be able to validate on, in our example that would be the term (tag te) and term.code (tag tc) fields. Assuming both fields already have an index, you'll first have to create a dummy field in the authority database definition, thesau.inf in our example, to create the combined index for. For example:
 
DoubleValidation1
 
DoubleValidation2
2. In the desired catalogue field linking to the authority table, you must now change the lookup field to the new temporary field. This will cause Collections to use the combined index for this field from now on when the user tries to validate a term or term code. In our example we would change the Lookup field for production.place to term_plus_code_index_field.
 
DoubleValidation3
3. The last (optional) thing to do is add a format string in the new Selection list format string option which can also be found on the Linked field properties tab. This format string specifies how the validation fields are displayed in the auto-complete drop-down list for this linked field. In the example above we entered %te% (%tc%), meaning that the term will be shown, followed by the term code in between brackets. In this case, if no term code is present, the brackets will still show without anything in between. You can enter field tags enclosed in % and fixed text and spaces. The format string is optional: if you leave it out, the auto-complete list will just use the forward reference field to look up and show terms.
Note that backwards compatibility is broken as soon as the Selection list format string option for a linked field has been filled in, but can be restored by emptying the option again.

Here's how it works in Collections. As soon as you put the cursor in the (Production) Place field, the auto-complete list opens with all available terms (with any term codes in brackets) for this field.

ACDoubleValidation1

You can pick one directly by clicking it or start typing either the term or the term code, after which the list only shows the matching term/term code combinations.

ACDoubleValidation2

ACDoubleValidation5

Click the desired term/term code combination to copy it to the field.

ACDoubleValidation3

After leaving the field though, the term/term code combination is automatically replaced by only the term. In the record, only the record number (link reference) of this linked record will be stored: the term and term code are only retrieved for display.

ACDoubleValidation4

Instead of using the auto-complete drop-down list, you may also click the validate icon on the right side of the field to open the Find data for the field window. On the View hierarchy tab you'll also see the term/term code combinations and you can filter the list by typing either (the beginning of) a term or term code.

ACDoubleValidation6