初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-12-04 19:23:33

サンサン
Member

リレーションで目的の結果を取得したい

ロットテーブル
ロット番号,商品id
lot1,1
lot2,1
lot3,1
lot4,2
---------------------------------------------------------------------
商品テーブル
商品id,商品名,商品と属性紐付けid
1,リンゴ,1
2,ミカン,2
3,ブドウ,3
---------------------------------------------------------------------
商品と属性紐付けテーブル
商品id,属性紐付けid
1,zokusei1
1,zokusei2
2,zokusei1
2,zokusei3
2,zokusei4
---------------------------------------------------------------------
属性項目テーブル
属性紐付けid,属性名
zokusei1,ジューシー
zokusei2,美味しい
zokusei3,オレンジ色
zokusei4,愛媛産
---------------------------------------------------------------------
上記のようなテーブルオカレンスがあります。
例えば、lot1で検索したとします。下記のような結果が欲しいと思います。

lot1,リンゴ,zokusei1,ジューシー
lot1,リンゴ,zokusei2,美味しい

lot4で検索したとします。下記のような結果が欲しいと思います。

lot4,ミカン,zokusei1,ジューシー
lot4,ミカン,zokusei3,オレンジ色
lot4,ミカン,zokusei4,愛媛産

ロットテーブルを起点とした時、どのようなリレーションを組めば欲しい結果がえられるのかわかりません。

ロットテーブル.商品id = 商品テーブル.商品id
商品テーブル.属性紐付けid = 属性項目テーブル.属性紐付けid
属性項目テーブル.属性紐付けid = 属性項目テーブル.属性紐付けid
としましたが、

lot1,リンゴ,zokusei1,ジューシー
または、
lot4,ミカン,zokusei1,ジューシー

の1行のみしか結果を得ることができませんでした。
どのようにすれば、目的の結果が得られるでしょうか?長々と書いて申し訳ありません。

Offline

#2 2017-12-04 23:18:23

Shin
Member

Re: リレーションで目的の結果を取得したい

ポータルで表示させれば良いでしょう。
https://www.dropbox.com/s/vvdy03am63hcv … 7.zip?dl=0

Offline

#3 2017-12-05 10:47:34

サンサン
Member

Re: リレーションで目的の結果を取得したい

ご回答ありがとうございます。ご提供頂きましたサンプルで問題なく動き、理解できました。

1点、私が別で作っているサンプルがあるのですが、「商品id属性テーブル」、「属性マスター」の箇所で「属性紐付けid」でリレーションを組んでいます。
フィールドのタイプも同じで、データも正しく入っていると思われるのですが、「属性マスター」.「属性紐付けid」をレイアウト上でフィールドピッカーを使い
配置しても、データが表示されません。同様に「属性名」も表示されません。

「商品id属性テーブル」の方はどのフィールドもレイアウト上で表示されていますが、属性マスターの方が表示されないということは正しくリレーションが
組まれていないということでしょうか?何か原因になるような可能性があるものがあればお教え頂けると助かります。

「ロットテーブル」~「商品id属性テーブル」では上記のようなことは起きませんでしたが、なぜか属性マスターのところだけが、上手くいかないです。
環境はwindows 7, FM16Advです。

Offline

#4 2017-12-05 11:21:17

サンサン
Member

Re: リレーションで目的の結果を取得したい

テーブルを削除して、新しく作り直したら何故か普通に動きました。
テーブルが壊れていた?かもしれません。何十回とテーブルに修正などを加えていた為かもです。
ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 554.8 KiB (Peak: 582.22 KiB) ]