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

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

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

You are not logged in.

Announcement

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


#1 2013-10-09 14:36:03

Londene
Guest

ルックアップの項目について

FM12adv windows7です。

質問お願いします。

ルックアップの項目についてなのですが、例えばテーブルが2つ、フィールドが三つあり

管理番号マスタというテーブルに
"アイテム"  "カラー"  "管理番号"
T-シャツ   赤     1234
T-シャツ   青     1255
ポロシャツ  白     1559
パンツ           2222

この管理番号の数字を商品マスタテーブルにルックアップしたい場合
上記でいうとパンツのカラーは何色でも管理番号を2222にルックアップする事は可能でしょうか?
実際の商品マスタにはパンツ/赤やパンツ/白といった感じで記入をしますが
これだとカラーが空白でないとルックアップされないため、
「カラーは何でも構わない」といった指定は無いでしょうか?
管理番号マスタテーブルにパンツ/カラーの全ての組合せを入れるしかないでしょうか?

何か良い方法があれば教えてください。宜しくお願い致します。

#2 2013-10-09 14:48:23

Listist
Guest

Re: ルックアップの項目について

管理番号マスタの複製でリレーションをもう1個作って、
GetValue(List(管理番号マスタ::管理番号; Case(IsEmpty(カラー);アイテムだけのリレーション::管理番号));1)

#3 2013-10-09 14:49:16

旅人
Member

Re: ルックアップの項目について

計算値自動入力、既存値置き換えに変更して
Case ( アイテム = "パンツ"; "2222"; Lookup ( マスタ::品番 ) )
にしてみる?

Offline

#4 2013-10-09 15:42:46

チポ
Member

Re: ルックアップの項目について

> 商品マスタにはパンツ/赤やパンツ/白といった感じで記入をします
これを規則として、

商品マスタに計算フィールドを作り、
アイテムに「/」が有れば、その前のテキストを入力
とします。

新たにリレーションを、
商品マスタ :: 計算フィールド = 管理番号マスタ 2 :: アイテム
と定義

商品マスタの管理番号を入力値の自動化・計算で
Lookup ( 管理番号マスタ :: 管理番号 ; 管理番号マスタ 2 :: 管理番号 )

これでいいのでは。

Offline

#5 2013-10-09 18:14:14

Londene
Guest

Re: ルックアップの項目について

みなさんご回答ありがとうございます。
非常に勉強になりますm(_ _)m

チポさんのものですとアイテム名は違う所でも使うため、Tシャツ/赤などの変更が出来ませんので難しいです。
旅人さんのものですと、私の例では簡易化したので少ないですが、実際はかなりの量があり項目も2つではなく4つほどあります。
計算式が長くなり管理が難しいので、出来ればレコードで管理したいです。
Lististさんのものを試してみようかと思いますが、管理番号マスタを複製し「管理番号マスタ2」として
商品番号マスタ-管理番号マスタ2をアイテムだけでリレーションし、
商品番号マスタの管理番号フィールドに
GetValue(List(管理番号マスタ::管理番号; Case(IsEmpty(カラー);管理番号マスタ2::管理番号));1)

ということで宜しいのでしょうか?

レコードが倍になり何となく容量が多くなってしまうのが懸念される所ですが
ルックアップは一度入ると他の一致が無い限り数値が変わらないので
空白の物はルックアップ元に"-"でも入れておき、ボタンを押すとカラーに"-"を入力後削除というスクリプトで
邪道な感じでも良いのでしょうか(-_-;)

#6 2013-10-09 18:31:34

旅人
Member

Re: ルックアップの項目について

>管理番号マスタテーブルにパンツ/カラーの全ての組合せを入れるしかないでしょうか?
ではなくて
管理番号マスタテーブルのパンツのレコードはひとつで、カラーに考えられる全部の色
を改行区切りで入れるとか。

Offline

#7 2013-10-09 19:31:57

wader
Member

Re: ルックアップの項目について

チポさんのは「記入しますが」を読み違えてるだけで、方法はベストでは。
商品マスタ :: 計算フィールド = 管理番号マスタ 2 :: アイテム
でなく
商品マスタ :: アイテム = 管理番号マスタ 2 :: アイテム
でいいです。(Lististさんのと同じ)

>管理番号マスタを複製し「管理番号マスタ2」として
の作り方が間違ってます。リレーション定義画面で複製しますから「レコードが倍」にはなりません

ルックアップでなく計算値自動入力です。。

Offline

#8 2013-10-10 08:57:29

チポ
Member

Re: ルックアップの項目について

ああ、

> 商品マスタにはパンツ/赤やパンツ/白といった感じで記入をしますが
これは
アイテムフィールド/カラーフィールド
ということなんですね、
確かに読み違えていた様です ;;;

Waderさんの
指摘のリレーションと、
私の計算式でできますよね。

Offline

#9 2013-10-10 12:57:48

Londene
Guest

Re: ルックアップの項目について

なるほど、チポさんのは私の引用だったのですね。
これは私の書き方が悪かったです(-_-;)

リレーションシップで複製してもレコードが倍になるわけじゃないんですね。
やっと理解が出来ました。これでまた複雑な事が出来るようになれそうです。

教えて頂いた通りにしましたら、希望の事ができるようになりました。
みなさんありがとうございました!(^_^)

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 517.5 KiB (Peak: 522.04 KiB) ]