みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
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
レコード作成時に自動入力でしょうか。
Year( 作成日)とIDでリレーションを張リ、記号を取得させればいいでしょう。
Offline
レコード作成時では無く、随時ポータル内のデータを見て、該当年度の区分をメインの区分にセットしたいです。
なので、新しい年度になったら、その年度のポータルの該当レコードの会員区分を、メインの会員区分にセットします。
例えば、2021年になったら、ID:3 は、メインテーブルの会員区分が "B" に自動で変わります。
Last edited by u1 (2020-11-03 10:12:44)
Offline
でしたら、自動入力ではなく、現在の日付から取得した年情報でリレーションし、マスター側のフィールドを参照すればいいです。
Offline
メインテーブル
現在年度
計算:left ( Get ( 日付 ) ; 4 )
上記を用意して、ポータルテーブルのオカレンス(ポータル1)を1つ作成して、以下でリレーション
メインテーブル::現在年度 -- ポータル1::年度
メインテーブル:: 区分
計算フィールドにして、計算式を
ポータル1::区分
で良いでしょうか?
これをしたら、全レコードに計算が走るので、ブラウズモードにした途端に計算している状態になってしまいます。
また、追加で条件があり、メインテーブル::区分 は手動でも値を変更できるようにしたいです。
Offline
区分がセットされる前に、必ず利用するフィールドがあるので、そこにスクリプトトリガを仕込み解決しました。
ありがとうございます。
Offline
> left ( Get ( 日付 ) ; 4 )
システムの書式が、日本で一般的に使われている西暦書式でしたらいいのですが、たまに元号設定にすることもありますし、万が一、他の設定に変わってしまうと誤動作します。Year() で取り出すことを強くお勧めします。
計算フィールドにしたとして、その状態になりましたか。一画面に数万レコードが表示される(現実にはあり得ない)状態になった場合に考えられるのですが、数百程度のレコードの再計算では数十msで終わるでしょう、
Offline
> Year() で取り出すことを強くお勧めします。
ありがとうございます!
その様に変更します。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 555.46 KiB (Peak: 579.04 KiB) ]