初心者にもわかるファイルメーカーの
使い方

論理削除と値一覧

2020-09-08 |  

こんにちは。
今年のお盆休みはひたすらゲームをしていたfilemakerチームの久保田です。

今回書かせていただく記事は論理削除と値一覧についてです。
論理削除を使用して起きやすい問題の一つに、値一覧に論理削除されたフィールドが入ってしまうということがあります。

その問題についてのスマートな解決方法について今回はお教えしていこうと思います。

今回の注目ポイントは2つです。

テーブル
値一覧の設定
試してみましょう!!

テーブル

必要なテーブルは3つです

・商品マスタ
・受注
・固定値0

ここで注目していただきたいのは固定値0というテーブルです。
このテーブルには固定値0という数字の0が入力されたグローバルフィールドしかありません。

そしてリレーションを画像の通り繋ぎます。

※解説
固定値0と受注のテーブルが「×」でつながっていることがわかると思います。
これはデカルトといいリレーションで繋いだテーブルのレコード全てを参照されることをさします。
つまり「受注」テーブルは「固定値0」テーブルに参照されているレコード全てを参照することができます。

今回の画像の場合だと、「固定値0」テーブルは「固定値0」フィールドの値が0のため、「固定値0_商品マスタ」から「_削除」フィールドが0のレコードのみを参照されることになります。

値一覧の設定

次に値一覧の設定です。

まず「商品一覧」という名前で値一覧を新規で作成します。
続きまして設定の方に移ります。

設定は画像の通りです。
ここで注目していただきたいのは、真ん中の方にある「次のテーブルから関連レコードの値のみを含める」からテーブルとして作成した「固定値0」を選択します。
これにより、受注テーブルにこの値一覧を配置すると固定値0で参照されている「商品マスタ」のレコードのみが値一覧に並ぶことになります。

試してみましょう!!

商品マスタを作成してみました。

次に固定値0を入力します。

最後に受注テーブルに作成した値一覧を配置していきます。

では商品マスタを削除してみましょう。
商品マスタからレコードを1つ選択して、削除フィールドに1を入力してみてください。

これで値一覧をみてみると、、、

削除1をたてたレコードが値一覧から省かれています!!!

いかがだったでしょうか。
値一覧は論理削除を含めるだけで難易度が一気に上がります。
しかし今回のようなことを試していくだけでリレーションに対する理解がだんだんと深まっていくと思います!

ご精読ありがとうございました。これにて失礼します。