LoginSignup
8

More than 5 years have passed since last update.

ファイルメーカーの動的値一覧の面倒さについて

Last updated at Posted at 2015-01-19

一応便利な値一覧

ファイルメーカーには「値一覧」という機能があり、これにより、選択肢を絞って手軽に入力できるようになる。

そして、これを動的に行う「条件付き(動的)値一覧」というのがある。要するに、複数の項目を連続して絞り込めるという機能だ。下記でいえば、「種類」を選択すると、その種類に応じた「品目」を選ぶことができる。ここでは、種類「B」を選ぶと、品目は「aa」「bb」に絞られる。

Gyazo

Gyazo

このためには、値一覧を参照する際のリレーションが必要となる。ひとつのテーブルにある場合は、ファイルメーカーでは、自己参照のようなことができないので、テーブル自体を仮想的に複製して、それをキーでつなげることになる。この場合は、「種類」で絞り込むので、「製品」というテーブルを複製してつなげている。

Gyazo

それから、値一覧を作るときに、「次のテーブルから関連レコードの値のみを含める」を選択する(この場合は、既に「種類」の値一覧を「製品」のテーブルを使って作成してある)。
Gyazo

このことによって、「種類」を選ぶと、「品目」を選ぶ際に関連レコードを参照して、絞り込みを行うことができる。

でも、これはいつでも使えるわけじゃない。

これには罠がある。実は、レイアウトから参照するテーブルをベースにしないと関連レコードの値が引っ張れないのだ。

例えば、納品書に取引先と担当者を記載するフォームを作るとする。その際に、上記のような、「取引先」と「担当者」のテーブルでリレーションを張って、値一覧で参照先を指定すればいいと思うだろう。だけど、それだけじゃダメだった。

というのも、取引先の値のあるテーブルを土台にしないと、今現在入力している取引先の値がわからないからだ。要するに、「納品書」に入力する「取引先」と「担当者」であるなら、その関連レコードは「納品書」からでないと、値を参照したい「取引先」の値が特定できないからだ。

ファイルメーカーは、オプションを設定しない限り、データをその場で即座に保存するので、これを参照しながら、絞り込みを行う仕組みを使う必要がある。

簡単な図でいうと、以下のとおりになる。

Gyazo

これに気づくのに、何時間費やしたか...。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8