第55回 動的値一覧

おはようございます!!こんにちは!!こんばんは!!
エヌ・ケイ・カスタマイズの泉です。

私の住んでいる福岡は、今週から緊急事態宣言も解除され、コロナウイルス新規感染者数もかなり少なくなったせいか、自分の周り雰囲気が「気持ち」明るくなった気がします。

今回は、前回解説した「値一覧」のレベルアップ版「動的値一覧」について解説します。
私自身、「動的値一覧」は一種の『呪文』のように開発、利用してきたので、復習して理解を深めたいと思います!!

動的値一覧とは?

動的値一覧を短い文で説明すると

フィールド値の値一覧に表示される内容を、別のフィールドに入力されているデータによって可変させること

だそうです。
この説明で「あ〜なるほど」となった人は、FileMakerと読解力のスキルが相当高い人だと思います。私も含めてw

一番身近な例は、住所や場所を入力する際の「都道府県」「市区町村」の選択方法だと思います。
「都道府県」で ”鹿児島県” を選んだのに、「市区町村」の選択肢に ”北海道” や ”東京都” の市区町村が表示されたら煩わしいですよね。
「都道府県」で ”鹿児島県” を選んだら、「市区町村」の選択肢は ”鹿児島県の市区町村” が表示されて欲しいですよね。
つまり、上の一文は

「市区町村」フィールド値の値一覧に表示される内容を、「都道府県」フィールドに入力されているデータによって可変させること

と読み替えることができます!!

動的値一覧を実装するには?

動的値一覧に必要なモノは、次の2つです。

  • 値一覧の可変に利用する「リレーションシップ」(照合フィールドと照合条件)
  • 上記リレーションシップを利用した「値一覧」

動的値一覧では、”カスタム値を使用” した値一覧ではなく、”フィールドの値を使用” した値一覧が必要になります。
つまり、テーブルに登録されたレコードデータでないと、動的値一覧は作れません。

動的値一覧の実装方法

それでは、動的値一覧が実装されたサンプルファイルを参考に、実装方法をみていきましょう。

[果物名]フィールドの入力内容で[産地]フィールドに割り当てられた値一覧の内容が動的に変化します。

このレイアウトのTO 名は「動的値一覧|商品管理」です。
どのようなリレーションシップが設定されているか確認します。
[データベースの管理]ダイアログの「リレーションシップ」タブを表示します。

動的値一覧は、上図のリレーションシップを利用しています。
TO は両方とも同じ「商品」テーブルです。

自己連結リレーションシップ

リレーションシップは、同じテーブルのTOに設定することも可能で、これを「 己連結リレーションシップ」と呼びます。

リレーションシップの条件は「果物名が同じ」です。
つまり果物名が同じレコードが関連レコードになります。
この条件を使って値一覧を設定しているということです。

次に、値一覧を確認します。
[値一 の管理]ダイアログを表示して「動的値一 |商品の産地」値一覧をダブルクリックします。
”フィールドの値を使用” にチェックがついています。
値一覧にどのフィールドのデータを表示しているのか確認します。
[フィールド指定…]ボタンをクリックすると[使用するフィールドの指定]ダイアログが表示されます。(次図参照)

・「 最初のフィールドの値を使用」に「動的値一 |商品管理選択用」TOの[産地]フィールドが指定されている
・「 次のテーブルから 連レコードの値のみ含める」に「動的値一覧|商品管理」TOが指定されている
あるレコードで「動的値一覧|商品管理」TO の[果物名]フィールドに入力されたデータと同じデータが入力されている「動的値一覧|商品管理選択用」TO の関連レコードの「産地」フィールドを値一覧に表示する。という設定です。

まとめ

今回はシンプルな動的値一覧の実装を、サンプルを使いながら説明しました。
更に高度なものになると、3つのフィールドの値一覧を可変させることもできますので、是非工夫しながらチャレンジしてみてください。

次回は「ドロップダウンカレンダー」について解説します。

Follow me!