データベース

【FileMaker Pro】ドロップダウンリストでのデータ絞り込みとテーブル複製

マイクロソフトのアクセス(以下Access)で言うなら、コンボボックスなのですが、FileMakerProでは、ドロップダウンリストというらしい。

FileMakerProでもよく使う

ココがポイント

入力時の絞り込みテクニックとしてのドロップダウンリストでのデータの絞り込み方法

をサンプルを元にまとめてみました。

 

サンプルの内容と前準備

サンプルとして、ドロップダウンリスト3段でデータを絞り込んでの入力ができるようにしたいと思います。

まずは、同じようなフィールドがあるテーブルを2つ準備しました。(入力テーブル、分類テーブル)

FileMaker ドロップダウンリスト

FileMaker ドロップダウンリスト

入力テーブルの方は、入力用に準備したテーブルになります。

分類テーブルの方は、サンプルデータを登録した物になります。

FileMaker ドロップダウンリスト

 

実験する事は、入力テーブルをレイアウトに起して、大分類選択すると、中分類は大分類から絞り込みされたデータ限定で表示されることになります。更に、中分類で選択された内容を元に小分類が絞り込まれて表示されることになります。

 

大分類のドロップダウンリスト設定

FileMaker ドロップダウンリスト

レイアウトモードにて、大分類のフィールドから、コントロールスタイルを「ドロップダウンリスト」に変更します。

次に、「値一覧」の鉛筆マークをクリックして、「新規」にて表示する大分類の内容を設定します。

大分類では、データの絞り込みが無いので特に難しい設定は必要ありませんでした。

つまり、データの絞り込みがない値を別テーブルから引っ張ってくる方法は、この手順でいいので簡単ですね。

 

中分類のドロップダウンリスト設定はリレーション必要

中分類は、大分類の値によってデータの絞り込みが必要なので手順が増えます。

まずは、ファイル>>管理>>データベースから、リレーションを設定します。

FileMaker ドロップダウンリスト

入力テーブルの大分類の値から、中分類の値を引っ張ってくるので、入力テーブル(大分類)と分類テーブル(大分類)でリレーション設定をします。

値一覧設定も新規で大分類の時と同じように作成すればいいのですが、

ココがポイント

次のテーブルから関連レコードの値のみ含める「検索値のあるテーブル」

という設定において、入力テーブル(大分類という検索値フィールドがある)を選択します。

 

FileMaker ドロップダウンリスト

 

これで、大分類から絞り込まれた中分類の値がドロップダウンリストに表示されることができました。

FileMaker ドロップダウンリスト

 

小分類のドロップダウンリストは要注意

中分類と同じだろうと同じ手順で小分類のドロップダウンリストを設定しましたが、中分類も小分類も値が表示されなくなりました。

FileMaker ドロップダウンリスト

上の図のようにリレーションを設定しましたが、よーく考えればダメな理由はわかりますね。

大分類と中分類をリレーションした為に、中分類にも最初から何かしら値が入ってなければ動作しない状態になってしまいました。

つまり、ちゃんと動作させるためには、

ココがポイント

分類マスターとして、2つのマスターが必要でした!

実際にプログラムを組むなら、それそれにマスターテーブルを分けたほうが良いですね。

FileMaker ドロップダウンリスト

リレーション以外は、中分類の値一覧設定と同じです。

 

FileMaker ドロップダウンリスト

※分類テーブルを複製しようとしたら難しく、分類テーブル6まで作成してしまいました。

 

 

テーブル(レコード含む)複製はメンドクサイ

FileMaker テーブル複製

 

「ファイル>>管理>>データベース」から、「コピー>>貼り付け」で簡単にテーブルが複製できます。

ココに注意

レコード(データ)は複製されません!

では、インポートすればいいのでは?・・・・・なんだかうまくインポートされません。

 

結局、レコードが含まれた状態でのテーブル複製は、下記の方法でやりました。

まず、ファイル自体をコピーして、別ファイルにしてから、「ファイル>>レコードのインポート>>ファイル」にてテーブルをインポートしました。

FileMaker テーブル複製

この方法でやると、既存ファイルに同名のレコードがあると、末端の数字が増やされてインポートされます。

 

実験はしていませんが、レコードデータが含まれないテーブルの複製方法からでも、別ファイルからのテーブルインポートならちゃんとインポートできるのかもしれません。今回の自分の場合は、ファイル自体のテーブルからインポートしようとしたので失敗したのかもしれなません。

もっと、テーブル複製もAccessのように簡単にできるといいのですけどね・・・。

 

-データベース
-, , , , , , , ,

Translate »

© 2022 PCTips