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

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

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

You are not logged in.

Announcement

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


#1 2020-11-03 08:05:42

u1
Member

指定のポータル内レコードの値取得

FileMaker Pro 18 Adv.
macOS Catalina

以下のメインとポータルテーブルがあります。

<メインテーブル>
ID 名前 区分
1  ◯  B ←これを自動セットしたい
2  △  B ←これを自動セットしたい
3  □  C ←これを自動セットしたい

<ポータルテーブル>
ID 年度 区分
1 2019 A
1 2020 B
2 2018 C
2 2019 A
2 2020 B
3 2020 C
3 2021 B

*IDでリレーションしています。

その該当する年、現在であれば"2020"のポータルテーブルの区分を、メインテーブルの区分にセットしたいです。
ポータルテーブル内は、各IDによって始まりの年度はバラバラで、最新で翌年のレコードまで存在ます。

left ( Get ( 日付 ) ; 4 ) で、年度値を取得し、その結果を元にポータルテーブルから該当レコードの区分を取得するのかなとおものですが、その具体的な手法が分かりません。
よろしくお願いします。

Offline

#2 2020-11-03 09:25:56

Shin
Member

Re: 指定のポータル内レコードの値取得

レコード作成時に自動入力でしょうか。
Year( 作成日)とIDでリレーションを張リ、記号を取得させればいいでしょう。

Offline

#3 2020-11-03 10:10:27

u1
Member

Re: 指定のポータル内レコードの値取得

レコード作成時では無く、随時ポータル内のデータを見て、該当年度の区分をメインの区分にセットしたいです。
なので、新しい年度になったら、その年度のポータルの該当レコードの会員区分を、メインの会員区分にセットします。
例えば、2021年になったら、ID:3 は、メインテーブルの会員区分が "B" に自動で変わります。

Last edited by u1 (2020-11-03 10:12:44)

Offline

#4 2020-11-03 10:14:49

Shin
Member

Re: 指定のポータル内レコードの値取得

でしたら、自動入力ではなく、現在の日付から取得した年情報でリレーションし、マスター側のフィールドを参照すればいいです。

Offline

#5 2020-11-03 11:44:56

u1
Member

Re: 指定のポータル内レコードの値取得

メインテーブル
現在年度
計算:left ( Get ( 日付 ) ; 4 )

上記を用意して、ポータルテーブルのオカレンス(ポータル1)を1つ作成して、以下でリレーション
メインテーブル::現在年度 -- ポータル1::年度

メインテーブル:: 区分
計算フィールドにして、計算式を
ポータル1::区分

で良いでしょうか?
これをしたら、全レコードに計算が走るので、ブラウズモードにした途端に計算している状態になってしまいます。
また、追加で条件があり、メインテーブル::区分 は手動でも値を変更できるようにしたいです。

Offline

#6 2020-11-03 13:05:57

u1
Member

Re: 指定のポータル内レコードの値取得

区分がセットされる前に、必ず利用するフィールドがあるので、そこにスクリプトトリガを仕込み解決しました。
ありがとうございます。

Offline

#7 2020-11-04 08:46:39

Shin
Member

Re: 指定のポータル内レコードの値取得

> left ( Get ( 日付 ) ; 4 )
システムの書式が、日本で一般的に使われている西暦書式でしたらいいのですが、たまに元号設定にすることもありますし、万が一、他の設定に変わってしまうと誤動作します。Year() で取り出すことを強くお勧めします。
計算フィールドにしたとして、その状態になりましたか。一画面に数万レコードが表示される(現実にはあり得ない)状態になった場合に考えられるのですが、数百程度のレコードの再計算では数十msで終わるでしょう、

Offline

#8 2020-11-04 08:55:06

u1
Member

Re: 指定のポータル内レコードの値取得

> Year() で取り出すことを強くお勧めします。

ありがとうございます!
その様に変更します。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 562.44 KiB (Peak: 587.14 KiB) ]