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

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

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

You are not logged in.

Announcement

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


#1 2021-04-15 19:00:07

ノノ
Guest

1対多のリレーションで、多の方から特定のレコードのフィールドを返す方法

メインテーブルにID:001のレコードが1件
サブテーブルにID:001のレコードが複数

※サブテーブルにあるID:001の複数レコードにはそれぞれ固有の数字が入っている順序フィールドがあります。

・メインテーブル
→ID:001が1件

・サブテーブル
→ID:001の順序フィールド「1」
→ID:001の順序フィールド「2」
→ID:001の順序フィールド「3」
→ID:001の順序フィールド「4」

この状態の時に、メインテーブルのレイアウト上で指定した数字と同じ順序フィールドの値を持ったサブテーブルのレコードから、特定のフィールドを持ってくるにはどうすればよいでしょうか。

つまりメインテーブルのID:001のとあるフィールドに「3」と入力すると、
サブテーブルのID:001達の中の順序フィールドが「3」のレコードから目的のフィールドを引っ張てきたいのです。

#2 2021-04-15 19:55:05

Hiro
Member

Re: 1対多のリレーションで、多の方から特定のレコードのフィールドを返す方法

2照合キー条件のリレーションを組み参照するだけです。

   ・メインテーブル::ID   =  サブテーブル::ID
    AND
   ・メインテーブル::順番  =  サブテーブル::順番

Offline

#3 2021-04-16 09:02:12

チポ
Member

Re: 1対多のリレーションで、多の方から特定のレコードのフィールドを返す方法

もう一つの方法

メインとサブをIDでリレーションし、
その設定で順序フィールドの昇順ソート指定すれば、
  GetNthRecord
でレコードを指定できますね。

これは順序フィールドの値が連続していることが条件です。

Offline

#4 2021-04-16 11:08:05

ノノ
Guest

Re: 1対多のリレーションで、多の方から特定のレコードのフィールドを返す方法

Hiroさん

ありがとうございます!できました!

ただひとつ気になったのですが、もしレイアウト上に二つ以上表示させたい時はどうすればいいでしょうか?

つまり、
メインのフィールドAに「3」と入れるとサブの中の順序3のフィールドを引っ張ってくる
メインのフィールドBに「5」と入れるとサブの中の順序5のフィールドを引っ張ってくる

といった具合です

#5 2021-04-16 11:13:05

ノノ
Guest

Re: 1対多のリレーションで、多の方から特定のレコードのフィールドを返す方法

チポさん

まさに最初は「 GetNthRecord」を使っていたのですが、レコードの順番と順序フィールドの並びが違うせいで思い通りに表示できず質問させてもらいました。
確かにサブの方を順序フィールドで昇順にすればレコード順とイコールなると思います!

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 8 queries executed - Memory usage: 509.35 KiB (Peak: 513.89 KiB) ]