こんにちは、普段は左利きですが、お箸は右利きのジョージです。
とあるかっこいい先輩からおそわった RightValue 関数のかっこいい使い方を紹介します。
FileMaker では決められた複数の候補から値を選んでフィールド入力する為に、いくつか方法が用意されています。その中でもよく使う方法として「チェックボックス」と「ラジオボタン」があります。
基本的にチェックボックスは「複数値の選択が許可」ラジオボタンは「排他的な単一値が許可」されています。
そして FileMaker ではチェックボックスで選択されたフィールド値は「選択された順番を保持」し「改行区切」の値としてフィールドに保存されるのが特徴です。
何かひとつの値を選択させるには「ラジオボタン」を使うのが一般的なのですが、選択した内容を取り消し「空欄」にするには、利用者はフィールドを選択してから「デリートキー」を押下する必要があり、キーボード入力が苦手な人には優しくないユーザインターフェースと言えます。
一方「チェックボックス」を使えば、選択した内容を全て取り消し「空欄」にするのは簡単なのですが、複数値を許可しないフィールド入力には利用できません。
チェックボックス & RightValues 関数を使う
前置きが長くなりましたが、「チェックボックス」と「ラジオボタン」この 2 つの長所を組み合わせた方法がこの「RightValues 関数」を入力値の自動化に応用したチェックボックス入力です。
RightValues 関数を「入力値の自動化 – 計算値」に以下のように指定して「フィールドに既存の値が存在する場合は置き換えない」オプションを無効にします。
RightValues ( Self ; 1 )
すると、チェックボックスを使いつつ、単一の値しか入力できないインターフェースが完成です!!
なぜこのような結果になるのか「イワノフ」が解説
チェックボックスについて
まず、「チェックボックス」の挙動についてですが、
「みかん」、「りんご」、「ぶどう」、「みかん」の順番でチェックしたときには
「りんご¶ぶどう¶みかん」と、チェックした順に「¶」+「値」が右側に追加されるようになっています
そのため、RightValues 関数で右から1つ目の値を指定することで一番新しく押した値のみを取得することができます。
計算値の自動化オプションについて
次に、計算値の自動化オプションについてです。
計算値が評価されるタイミングは、計算式が参照しているフィールドの値が変更されたときになります。
下記の計算式では、フィールドの値が更新されると「Self」関数が評価されることで、再計算が行われます。
RightValues ( Self ; 1 )
そのため、フィールドの値が「りんご」のときに「ぶどう」のチェックボックスを選択し、「りんご¶ぶどう」に値が変更されたときに再計算が行われ、値が「ぶどう」となります。
2つ以上の値を選択したいとき
N 個のオプションまで入力可能にするには RightValues の第二引数で調整します。 3 つまで選択できるようにするにはこんな感じです。
RightValues ( Self ; 3 )
はじめてこの方法を知った時は、あまりのかっこよさに震えました!みなさんも是非利用してみてくださいね ♪