subwaypkpk tech log

FileMakerとかPythonとか

いい感じのドロップダウンリストを作成する - FileMaker

お疲れさまです。今回はドロップダウンリスト的なのをFilaMakerで作る方法です。

基本

基本的な作り方は下記の公式ドキュメントを参考。

ポップアップメニュー、チェックボックスセット、またはその他のコントロールを表示するためのフィールド設定

簡単にいうと、値一覧を作成して、レイアウトモードで対象のフィールドに当てはめてやればいい、という感じだ(と思う)。

いい感じのドロップダウンリスト

基本的なドロップダウンリストの作り方は分かったが、ただこのドロップダウンリストは使い勝手が悪いように思う。というのも、FMのドロップダウンリストはDBに格納されるデータがそのまま表示されてしまう。

本来作りたいドロップダウンリストってのは、表示されるデータと入力されるデータが異なるものだ。例えば曜日を選んだときに、その曜日を表す数字がDBには格納されるようなものを作りたいはず。自分は少なくともかなり困った。

ケースによって作り方が変わってくるので、下記にまとめる。

  1. フィールドの値を使用
    社員名で表示させてIDをデータとして入力するようなケース。 一番目のフィールドにID、二番目のフィールドに表示名を設定し、ドロップダウンリストではなくポップアップメニューで表示させる。「値一覧でデータ書式を上書き」オプションにはチェックをいれる。
    FileMaker Pro 15 の新機能「ポップアップメニューの『値一覧でデータ書式を上書き』オプション」
  2. カスタム値を使用
    カスタム値を使用する場合、基本的に表示と入力の値は同じものになる。
    これはかなり苦肉の策になるんだけど、表示用のフィールドとデータ保存用のフィールドを作成する。表示用で表示したいデータを値一覧として表示し、データ保存用のフィールドは計算フィールドとして定義し、表示用フィールドの中身をcase文とかで管理する。
    レイアウトには表示用のフィールドだけを配置する。

以上。
さくっと使えるのがFileMakerの嬉しいところだけど、他のツールでシステムを組んでいた人だとちょっと使いにくいなというところが多い。まあFileMaker的な正解はコードとかで入力せず、見た目の値をそのままいれるのが正解なんだと思う。