myIdea Logo

My Filemaker Pro Programming Standards: Value Lists

This page is part of the internal FileMaker Pro programming standards of Lutz Pietschker. No claims of any sort can be derived from the description of these standards. In particular, no claim can be made that these standards are complete and without errors, and that any of my software projects follow to these standards in part or completely.
The page content was last revised on (ca. 2008)

Go to start page

Document Content

This document describes how value lists are defined.

Value List Definition

Value lists may only be defined in the $gui file(s) (or, if no such file exists, in the $app file(s)). Value list source tables are usually created in the $app file(s). Note that values obtained through a relation may lead to a problem in evaluating other relations that use these values as match values; the reason is that FMP7 stores join results in a "join result cache". The "Refresh Window (flush cached join results)" script step (not web compatible, alas) forces a re-calculation of join results.

Two ways of value list definition are allowed:

Value lists from other files shall not be used.

One list is available in every database (stored in the applic file): NilOne. This list contains only one value, "1", and it is used for on/off checkboxes.

Value List Source Tables

Such tables are created for the sole purpose to yield data for value lists. The advantage in using such tables is that they are a lot more flexible than pre-defined value lists, allow localisation, and that they allow to translate the values actually displayed in the list into "hidden", generic values. Also, they allow to define more than one value list in one table.

There are two ways to build such value list source tables:

key_Lang key_Vl1 key_Vl2 key_Vl3 key_Vl4 ... Displayed AlsoDisplayed Sort GenValue

In this case, the entries in the key_Vl* columns are always nil (empty field) or "1". In this form, as many key_Vl* fields are needed as there shall be value lists (though it would be possible to get additional lists by using multi-key relations). It has the advantage that the accessing relation can be based on a global match field defined as "1".

key_Lang key_Vl Displayed AlsoDisplayed Sort GenValue

In this case, there must be as many different values for the key_Vl as you need value lists, and that the match field value must be set accordingly before the value list is used. If you need more than one value list on the same layout, you must have as many global match fields as you need value lists.

Both forms may be combined into one table if desired.

Value List Display

Value lists created through value list source tables (as described above) can not only be displayed as a drop-down list or menu but also as a portal. This has the great advantage that the selection can trigger a script, for example to translate the selected value into a generic value. This is not possible in FMP7 for a menu or list selection. It is also possible to highlight the current selection in the portal.

This page is copyrighted by the author according to the copyright note.
All rights reserved. Lutz Pietschker, Berlin/Germany, 2011 ff.

, last change 2011-03-12