データベース

【FileMaker Pro】リレーションとルックアップの動作実験

FileMakerProに関しては初心者なので実際にはどのように動作してくれるのかが不明な点がある。

ココがポイント

今回は、リレーションとルックアップに関して実験をしてみました。

 

前準備

FileMaker リレーション ルックアップ

前回に実験したA_tableがありますが、今回の実験には関係ありません。

今回は、B_tableと在庫管理テーブルでの実験になります。

FileMaker リレーション ルックアップ

あらかじめ、B_tableには、5件のレコードを入れてあります。

 FileMaker リレーション ルックアップ

在庫管理テーブルの方には、何も入っていません。

 

IDでリレーションされた別テーブルフィールド入力

まずは、B_table画面からIDの一致した在庫フィールドに値を入力するにはどうしたらいいのか?の実験です。

別テーブルフィールドに入力

テーブル名を「在庫管理」テーブルに変更してから、フィールド「在庫」をレイアウトにドラッグ&ドロップするだけでした。

 

別テーブルフィールドに入力

ブラウズモードから、在庫フィールドを見ると、「::在庫」という表示になっており、これが別テーブルからのリンク表示だって意味かどうかはわかりませんが、判別することができます。

とりあえず、ID1と5に、それぞれ10を代入してみました。

別テーブルフィールドに入力

在庫管理テーブルの方では、自動でID1と5が追加されて、在庫も入力されていました。

リレーションにて、「レコードの作成を許可」しておけば、自動でレコードを作成してくれるようです。

もちろん、「関連レコード削除」にもチェックしている場合には、B_tableのIDが消されたら、在庫管理テーブルの関連レコードも消されることになると思います。

 

在庫テーブルをルックアップ

まだ初心者なので、この在庫管理からの在庫フィールドと、ルックアップしたフィールドの違いが理解できません。

ちょっと実験をしてみたいと思います。

FileMaker ルックアップ

FileMaker ルックアップ

ルックアップ設定した「在庫」フィールドを追加しましたが、データを引っ張ってきません。

そこで、メニューバーから、「レコード>>フィールド内容の再ルックアップ」を実行しましたがエラーがでました。

フィールド内容の再ルックアップ エラー

 

調べて見ると、リレーションしているキーがIDなので、カーソルをIDに持って行っておかないとエラーになるようです。

IDにカーソルを持って行って再度実行すると下記の様なメッセージがでました。

フィールド内容の再ルックアップ エラー

検索しないで全レコード対象にすると出るようです。

FileMaker ルックアップ

これで、B_tableの「在庫」フィールドの値が、ルックアップで入力されました。

 

レコード追加した時のルックアップ値

レコードを追加したらどうなるのか?の実験をしてみました。

FileMaker ルックアップ

IDを入れるだけで、「在庫」フィールドもルックアップされていました。

 

在庫数を変更した時のルックアップ

FileMaker ルックアップ

ID1の在庫を10から20に変更してみました。

一番上の、ID1の在庫は瞬時に変わりましたが、ルックアップされている在庫の方は変わりません。

そこで、「レコード>>フィールド内容の再ルックアップ」を実行すると、

FileMaker ルックアップ

一番上のID1だけの在庫しか変更されません。なんで?

そこで、カーソルを、ID1に持って行ってから実行すると、一番下のID1も変更されました。

「レコード>>フィールド内容の再ルックアップ」を実行する時は、カーソルの位置が関係するということですね。

ID1だけ絞ってからの実行すれば、全部の在庫が再ルックアップされました。

FileMaker ルックアップ

 

まとめ

同じ在庫を表示させる方法ですが、どういう使い分けをしたらよいのでしょうか?

自分が勝手に考える使い分けとしては、わざわざフィールドを増やしてルックアップするよりかは、別テーブルのフィールドを表示させてた方がリアルタイム表示なので使いやすいと思いました。

ただ、マスタから値を引っ張ってきてレコードを作成するような場合は、その時のマスタの値を残して置きたいケースもあるかと思います。

例えば、ある会社から購入した部品として、その時に発注したレコードがあったとします。

マスタの購入先会社名を変更したら、過去のすべてのレコードが変わってしまったら困るケースもありますよね。

その時は、ルックアップの方がいいですね。

 

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

Translate »

© 2024 PCTips