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

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

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

You are not logged in.

Announcement

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


#1 2015-05-29 15:48:34

cybe
Member

ルックアップの優先順位

win7、ファイルメーカー8


以下のような2つのテーブルがあります。

テーブル「注意事項マスター」

テキストフィールド
顧客コード
顧客名
店舗名
入稿先
入稿先メモ

計算フィールド
R顧客名=顧客コード&顧客名
R店舗名=顧客コード&顧客名&店舗名

レコードは

顧客コード「abc」顧客名「AAA」入稿先「メール」入稿先メモ「担当者Aさん」
のように、顧客コード、顧客名だけで入稿先、入稿先メモの入力があるレコードと

顧客コード「abc」顧客名「AAA」店舗名「あああ」入稿先「メール」入稿先メモ「担当者Aさん」
のように、顧客コード、顧客名、店舗名の入力で入稿先、入稿先メモの全てのフィールドに
入力があるレコードの2タイプがあります。


テーブル「スケジュール」

テキストフィールド
顧客コード
顧客名
店舗名
入稿先「注意事項マスター」の入稿先をルックアップ
入稿先メモ「注意事項マスター」の入稿先メモをルックアップ

計算フィールド
R顧客名=顧客コード&顧客名
R店舗名=顧客コード&顧客名&店舗名

この「スケジュール」に顧客コード、顧客名、店舗名の全ての入力があるcsvデータをインポートした時に
「注意事項マスター」の「R店舗名」を優先し
「注意事項マスター」に店舗名の入力が無い時は、「R顧客名」のレコードを見に行き
入稿先、入稿先メモにルックアップさせたいのですが
どのようなリレーションを組めばいいでしょうか。

Offline

#2 2015-05-29 17:42:25

Shin
Member

Re: ルックアップの優先順位

ルックアップでは無理でしょうね。
自動計算入力をさせれば良いはずです。

Offline

#3 2015-05-29 17:43:33

チポ
Member

Re: ルックアップの優先順位

二つのリレーションにして、
  LookUp関数
で入力できますよ。


計算フィールド
R顧客名=顧客コード&顧客名
R店舗名=顧客コード&顧客名&店舗名

リレーションのために、このようにフィールドを連結する必要は無いですよ。
複数のフィールドで照合できます。

Offline

#4 2015-06-01 11:12:34

cybe
Member

Re: ルックアップの優先順位

shinさん、チポさんありがとうございます。
すいません初心者で、もう少し詳しく教えて頂けると助かります。

テーブル「注意事項マスター」と、テーブル「スケジュール」の
R顧客名を計算フィールドではなく、テキストフィールドの自動計算入力で(顧客コード&顧客名)、
R店舗名を、テキストフィールドの自動計算入力で(顧客コード&顧客名&店舗名)に変更したのですが

Lookup関数はどのフィールドでどのような式で作成すればよいのでしょうか?

Offline

#5 2015-06-01 13:48:43

チポ
Member

Re: ルックアップの優先順位

前回書いたように

  R顧客名・R店舗名
は不要です。


リレーション1

  スケジュール          注意事項マスタ
   顧客コード      =    顧客コード


リレーション2

スケジュール          注意事項マスタ2
   顧客コード      =    顧客コード
   and
   店舗名           =     店舗名

として、
入稿先を計算フィールドとして、その計算式
    LookUp ( 注意事項マスタ2::入稿先 ; 注意事項マスタ::入稿先 )

で入力されます。

Offline

#6 2015-06-01 15:57:34

cybe
Member

Re: ルックアップの優先順位

ありがとうございます。
分かってきました。

あともう一つお聞きしたいのですが、
例えばリレーション3まで増えた場合、

リレーション3

スケジュール          注意事項マスタ3
   顧客コード      =    顧客コード
   and
   顧客名           =     顧客名
   and
   店舗名           =     店舗名

LookUp ( 注意事項マスタ3::入稿先 ; 注意事項マスタ2::入稿先 ; 注意事項マスタ::入稿先)
というように3つ設定ができないようなんですが
リレーションが3つになった場合はどうすればいいでしょうか。

Offline

#7 2015-06-01 16:45:17

チポ
Member

Re: ルックアップの優先順位

スケジュール          注意事項マスタ3
   顧客コード      =    顧客コード
   and
   顧客名           =     顧客名
   and
   店舗名           =     店舗名

このリレーションの意味が分りませんが、、


LookUp ( 注意事項マスタ3::入稿先 ; 注意事項マスタ2::入稿先 ; 注意事項マスタ::入稿先)

LookUp ( 注意事項マスタ3::入稿先 ; LookUp ( 注意事項マスタ2::入稿先 ; 注意事項マスタ::入稿 ) )
このように入れ子にすればいいでしょう。

Offline

#8 2015-06-02 16:43:52

cybe
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.012 seconds, 10 queries executed - Memory usage: 517.13 KiB (Peak: 521.66 KiB) ]