マイクロソフトのアクセス(以下Access)で言うなら、コンボボックスなのですが、FileMakerProでは、ドロップダウンリストというらしい。
FileMakerProでもよく使う
ココがポイント
入力時の絞り込みテクニックとしてのドロップダウンリストでのデータの絞り込み方法
をサンプルを元にまとめてみました。
サンプルの内容と前準備
サンプルとして、ドロップダウンリスト3段でデータを絞り込んでの入力ができるようにしたいと思います。
まずは、同じようなフィールドがあるテーブルを2つ準備しました。(入力テーブル、分類テーブル)
入力テーブルの方は、入力用に準備したテーブルになります。
分類テーブルの方は、サンプルデータを登録した物になります。
実験する事は、入力テーブルをレイアウトに起して、大分類選択すると、中分類は大分類から絞り込みされたデータ限定で表示されることになります。更に、中分類で選択された内容を元に小分類が絞り込まれて表示されることになります。
大分類のドロップダウンリスト設定
レイアウトモードにて、大分類のフィールドから、コントロールスタイルを「ドロップダウンリスト」に変更します。
次に、「値一覧」の鉛筆マークをクリックして、「新規」にて表示する大分類の内容を設定します。
大分類では、データの絞り込みが無いので特に難しい設定は必要ありませんでした。
つまり、データの絞り込みがない値を別テーブルから引っ張ってくる方法は、この手順でいいので簡単ですね。
中分類のドロップダウンリスト設定はリレーション必要
中分類は、大分類の値によってデータの絞り込みが必要なので手順が増えます。
まずは、ファイル>>管理>>データベースから、リレーションを設定します。
入力テーブルの大分類の値から、中分類の値を引っ張ってくるので、入力テーブル(大分類)と分類テーブル(大分類)でリレーション設定をします。
値一覧設定も新規で大分類の時と同じように作成すればいいのですが、
ココがポイント
次のテーブルから関連レコードの値のみ含める「検索値のあるテーブル」
という設定において、入力テーブル(大分類という検索値フィールドがある)を選択します。
これで、大分類から絞り込まれた中分類の値がドロップダウンリストに表示されることができました。
小分類のドロップダウンリストは要注意
中分類と同じだろうと同じ手順で小分類のドロップダウンリストを設定しましたが、中分類も小分類も値が表示されなくなりました。
上の図のようにリレーションを設定しましたが、よーく考えればダメな理由はわかりますね。
大分類と中分類をリレーションした為に、中分類にも最初から何かしら値が入ってなければ動作しない状態になってしまいました。
つまり、ちゃんと動作させるためには、
ココがポイント
分類マスターとして、2つのマスターが必要でした!
実際にプログラムを組むなら、それそれにマスターテーブルを分けたほうが良いですね。
リレーション以外は、中分類の値一覧設定と同じです。
※分類テーブルを複製しようとしたら難しく、分類テーブル6まで作成してしまいました。
テーブル(レコード含む)複製はメンドクサイ
「ファイル>>管理>>データベース」から、「コピー>>貼り付け」で簡単にテーブルが複製できます。
ココに注意
レコード(データ)は複製されません!
では、インポートすればいいのでは?・・・・・なんだかうまくインポートされません。
結局、レコードが含まれた状態でのテーブル複製は、下記の方法でやりました。
まず、ファイル自体をコピーして、別ファイルにしてから、「ファイル>>レコードのインポート>>ファイル」にてテーブルをインポートしました。
この方法でやると、既存ファイルに同名のレコードがあると、末端の数字が増やされてインポートされます。
実験はしていませんが、レコードデータが含まれないテーブルの複製方法からでも、別ファイルからのテーブルインポートならちゃんとインポートできるのかもしれません。今回の自分の場合は、ファイル自体のテーブルからインポートしようとしたので失敗したのかもしれなません。
もっと、テーブル複製もAccessのように簡単にできるといいのですけどね・・・。