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

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

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

You are not logged in.

Announcement

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


#1 2024-01-24 10:52:56

red
Guest

単一レコードのみルックアップ

FM18、Win10               
お忙しいところ恐れ入ります。               
ルックアップを単一レコードのみに適用する方法があれば、教えていただきたいです。               
               
テーブル:製品マスター               
    フィールド:品名No.、M数           
    例)    品名No.    M数   
            A            10   
          B            20   
          C            30   
               
テーブル:原稿データ               
    フィールド:注文No.、品名No.、M数(ルックアップ)           
    例)    注文No.    品名No.    M数
          a              A             10
           b              A             10
          c              A             10
          d              B             20
          e              C             30
品名No.でリレーション               
注文No.はユニーク、同じ品名No.について複数の注文No.があります。               
               
M数について、abは10のままで、cのみ15に変更したいときに、               
①原稿データのcを15に変更して、ルックアップをすると10に戻ってしまいます。               
②製品マスターのAを15に変更して、ルックアップをするとabcともに15になってしまいます。               
単一の注文No.のみにルックアップをかけるか、計算値を利用して単一の注文No.のみに適用するような方法はないのでしょうか?
それとも、他に何か良い方法はないでしょうか?

#2 2024-01-24 11:25:31

himadanee
Guest

Re: 単一レコードのみルックアップ

>M数について、abは10のままで、cのみ15に変更したいときに、               
これは、「マスターとは違う値にしたい」わけなので、ルックアップは関係なく単にcの数値を修正すればいいのでは。

>①原稿データのcを15に変更して、ルックアップをすると10に戻ってしまいます。               
データを入れた後でルックアップするというのがおかしいです。「再ルックアップ」するなら、修正したデータが戻るのは当然(マスターの値に戻したいときに実行する操作)です。

#3 2024-01-24 11:30:14

Shin
Member

Re: 単一レコードのみルックアップ

再ルックアップの動作どおりです。
何をしたいのかよくわかりませんが、原稿データがその順で時系列で作られているのでしたら、方法はあります。
各テーブルに作成日データを持たせておき、変更ごとに新しいレコードを作っていきます。(製品マスター側は、設定日になるかもしれません)
原稿データ        製品マスター               
   品名No.、   =    品名No.、
   作成日        ≥    設定日
というリレーションを張り、製品マスター側を設定日で降べきにソートしておきます。原稿データのレイアウトで、製品マスター::M数 を参照すればいいでしょう。

Offline

#4 2024-01-24 12:43:07

red
Guest

Re: 単一レコードのみルックアップ

himadanee様、Shin様

ありがとうございます。
説明不十分で申し訳ございません。

やりたいことは、cが15になっても、abは10のままとしておきたいです。
cの注文のみ品名No.は同じですがM数が異なっていた場合に、製品マスターは変更せず、かつabは製品マスターのまま10で変更したくないです。

また、簡素化のためシンプルな例としましたが、例えば下記のように、テーブルの製品マスターにも原稿データにも材料名というフィールドもあった場合に、
材料名はルックアップしたいがM数はルックアップしたくない次のような場合があります。
①誤って”あ”を消去してしまった場合
②当初は材料名が不明であったため空欄にしていたが、原稿データを入力した後に判明したため、
  cのみを15にした後に、製品マスターに”あ”を入力し、abcに”あ”のみをルックアップしたいが、10までルックアップされてしまい、
  cも10に戻ってしまうことを避けたいです。

テーブル:製品マスター               
    フィールド:品名No.、M数 、材料名         
    例)    品名No.    M数   材料名 
            A            10         あ
            B            20         い   
            C            30         う
               
テーブル:原稿データ               
    フィールド:注文No.、品名No.、M数(ルックアップ)、材料名           
    例)    注文No.    品名No.    M数      材料名
              a              A             10        あ
              b              A             10        あ
              c              A             10        あ    ←M数15としたい
              d              B             20        い
              e              C             30        う
品名No.でリレーション               
注文No.はユニーク、同じ品名No.について複数の注文No.があります。

#5 2024-01-24 12:56:39

Shin
Member

Re: 単一レコードのみルックアップ

M数のみを、自動入力の計算式(上書き禁止)にしておけばいいようです。15にしたければ、原稿側で15に手入力。

Last edited by Shin (2024-01-24 12:58:23)

Offline

#6 2024-01-24 13:19:08

himadanee
Guest

Re: 単一レコードのみルックアップ

方法は色々あるでしょうけど、
>材料名はルックアップしたいがM数はルックアップしたくない
材料名を全置換します。

>次のような場合
空欄のレコードだけを修正するケースなので、空欄を検索してから全置換します。
間違えて消去ならそのレコードだけ、マスタの修正なら修正したレコードから関連レコードへ移動かマスタの主キーの値で検索

ルックアップだとルックアップしたいフィールドでなく照合フィールドを指定するので、同じリレーションのフィールドは全部ルックアップしますので、そういうケースでは使えませんね。

#7 2024-01-25 11:58:42

チポ
Member

Re: 単一レコードのみルックアップ

M数、材料名
どちらも別々に再ルックアップしたい。

ならば、
別リレーションにすればいいので、
原稿テーブルで品名No.を入力する計算フィールドを作り、
これでリレーション、どちらかのルックアップをこちらに変更。

再ルックアップの際に、どちらをするのか明確にする必要が有りますね。。

Offline

#8 2024-01-25 13:22:43

チポ
Member

Re: 単一レコードのみルックアップ

ああ、
> ルックアップを単一レコードのみに適用
って書いてますね。

1レコードのみなら、
製品マスタの参照フィールドの値を入力すればいいことでしょう。

スクリプトにすればフィールドクリックだけで出来ますね。

Offline

#9 2024-01-25 16:30:11

red
Guest

Re: 単一レコードのみルックアップ

Shin様、himadanee様、チポ様

大雪でバタバタしておりました。
ありがとうございます。
色々な方法があることが良く分かりました。
例は簡素化しておりまして、実際には、フィールドが沢山ありますので、
皆様に教えていただいた方法をそれぞれのフィールドに適した方法で実施したいと思います。
心から感謝申し上げます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.010 seconds, 11 queries executed - Memory usage: 531.38 KiB (Peak: 551.91 KiB) ]